From 0227e4b4dc1f2203d203eaf23573e486d5c296cf Mon Sep 17 00:00:00 2001 From: Blake Ramsdell Date: Thu, 27 Sep 2007 16:13:24 -0700 Subject: [PATCH] Anonymous union fixes. --- printcert/printcert.c | 8 +-- printcert/rfc3280.c | 188 +++++++++++++++++++++++++------------------------- printcert/rfc3280.h | 42 +++++------ 3 files changed, 119 insertions(+), 119 deletions(-) diff --git a/printcert/printcert.c b/printcert/printcert.c index 8e66c88..9c6bd5c 100644 --- a/printcert/printcert.c +++ b/printcert/printcert.c @@ -18,13 +18,13 @@ static void print_name_email_addresses(Cert_Name* name) { int counter = 0; - for (counter = 0;counter < name->rdnSequence.count;++counter) + for (counter = 0;counter < name->u.rdnSequence.count;++counter) { int rdn_counter = 0; - for (rdn_counter = 0;rdn_counter < name->rdnSequence.array[counter].count;++rdn_counter) + for (rdn_counter = 0;rdn_counter < name->u.rdnSequence.array[counter].count;++rdn_counter) { - Cert_AttributeTypeAndValue* attribute = &(name->rdnSequence.array[counter].array[rdn_counter]); + Cert_AttributeTypeAndValue* attribute = &(name->u.rdnSequence.array[counter].array[rdn_counter]); if (_A2C_OIDS_EQUAL(&(attribute->type), Cert_emailAddress.id)) { @@ -63,7 +63,7 @@ static void print_subject_alt_name_email_addresses(Cert_Extensions* extensions) { if (names->array[names_counter].index == CertImpl_GeneralName_rfc822Name_index) { - printf("%s\n", names->array[names_counter].rfc822Name.string); + printf("%s\n", names->array[names_counter].u.rfc822Name.string); } } diff --git a/printcert/rfc3280.c b/printcert/rfc3280.c index c058344..2623e35 100644 --- a/printcert/rfc3280.c +++ b/printcert/rfc3280.c @@ -234,7 +234,7 @@ const A2C_DESCRIPTOR Cert_RDNSequence_descriptor = { }; const A2C_ITEM Cert_Name_description_table[] = { - {"rdnSequence", OFFSET_OF(Cert_Name, rdnSequence), {A2C_TAG_CLASS_UNIVERSAL, 16}, &Cert_RDNSequence_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"rdnSequence", OFFSET_OF(Cert_Name, u.rdnSequence), {A2C_TAG_CLASS_UNIVERSAL, 16}, &Cert_RDNSequence_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, }; const A2C_ITEM_HEADER Cert_Name_description = { @@ -416,8 +416,8 @@ const A2C_DESCRIPTOR Cert_CertificateSerialNumber_descriptor = { }; const A2C_ITEM Cert_Time_description_table[] = { - {"utcTime", OFFSET_OF(Cert_Time, utcTime), {A2C_TAG_CLASS_UNIVERSAL, 23}, &A2C_UTC_TIME_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"generalTime", OFFSET_OF(Cert_Time, generalTime), {A2C_TAG_CLASS_UNIVERSAL, 24}, &A2C_GENERALIZED_TIME_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"utcTime", OFFSET_OF(Cert_Time, u.utcTime), {A2C_TAG_CLASS_UNIVERSAL, 23}, &A2C_UTC_TIME_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"generalTime", OFFSET_OF(Cert_Time, u.generalTime), {A2C_TAG_CLASS_UNIVERSAL, 24}, &A2C_GENERALIZED_TIME_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, }; const A2C_ITEM_HEADER Cert_Time_description = { @@ -577,8 +577,8 @@ const A2C_OBJECT_IDENTIFIER Cert_id_qt={"1.3.6.1.5.5.7.2"}; const A2C_ITEM Cert_CountryName__tag_description_table[] = { - {"x121-dcc-code", OFFSET_OF(Cert_CountryName, x121_dcc_code), {A2C_TAG_CLASS_UNIVERSAL, 18}, &A2C_NUMERIC_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"iso-3166-alpha2-code", OFFSET_OF(Cert_CountryName, iso_3166_alpha2_code), {A2C_TAG_CLASS_UNIVERSAL, 19}, &A2C_PRINTABLE_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"x121-dcc-code", OFFSET_OF(Cert_CountryName, u.x121_dcc_code), {A2C_TAG_CLASS_UNIVERSAL, 18}, &A2C_NUMERIC_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"iso-3166-alpha2-code", OFFSET_OF(Cert_CountryName, u.iso_3166_alpha2_code), {A2C_TAG_CLASS_UNIVERSAL, 19}, &A2C_PRINTABLE_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, }; const A2C_ITEM_HEADER Cert_CountryName__tag_description = { @@ -616,8 +616,8 @@ const A2C_DESCRIPTOR Cert_CountryName_descriptor = { }; const A2C_ITEM Cert_AdministrationDomainName__tag_description_table[] = { - {"numeric", OFFSET_OF(Cert_AdministrationDomainName, numeric), {A2C_TAG_CLASS_UNIVERSAL, 18}, &A2C_NUMERIC_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"printable", OFFSET_OF(Cert_AdministrationDomainName, printable), {A2C_TAG_CLASS_UNIVERSAL, 19}, &A2C_PRINTABLE_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"numeric", OFFSET_OF(Cert_AdministrationDomainName, u.numeric), {A2C_TAG_CLASS_UNIVERSAL, 18}, &A2C_NUMERIC_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"printable", OFFSET_OF(Cert_AdministrationDomainName, u.printable), {A2C_TAG_CLASS_UNIVERSAL, 19}, &A2C_PRINTABLE_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, }; const A2C_ITEM_HEADER Cert_AdministrationDomainName__tag_description = { @@ -700,8 +700,8 @@ const A2C_DESCRIPTOR Cert_TerminalIdentifier_descriptor = { }; const A2C_ITEM Cert_PrivateDomainName_description_table[] = { - {"numeric", OFFSET_OF(Cert_PrivateDomainName, numeric), {A2C_TAG_CLASS_UNIVERSAL, 18}, &A2C_NUMERIC_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"printable", OFFSET_OF(Cert_PrivateDomainName, printable), {A2C_TAG_CLASS_UNIVERSAL, 19}, &A2C_PRINTABLE_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"numeric", OFFSET_OF(Cert_PrivateDomainName, u.numeric), {A2C_TAG_CLASS_UNIVERSAL, 18}, &A2C_NUMERIC_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"printable", OFFSET_OF(Cert_PrivateDomainName, u.printable), {A2C_TAG_CLASS_UNIVERSAL, 19}, &A2C_PRINTABLE_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, }; const A2C_ITEM_HEADER Cert_PrivateDomainName_description = { @@ -1167,8 +1167,8 @@ const A2C_DESCRIPTOR Cert_ALGORITHM_descriptor = { }; const A2C_ITEM Cert_postalCode__Type_description_table[] = { - {"numeric-code", OFFSET_OF(Cert_postalCode__Type, numeric_code), {A2C_TAG_CLASS_UNIVERSAL, 18}, &A2C_NUMERIC_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"printable-code", OFFSET_OF(Cert_postalCode__Type, printable_code), {A2C_TAG_CLASS_UNIVERSAL, 19}, &A2C_PRINTABLE_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"numeric-code", OFFSET_OF(Cert_postalCode__Type, u.numeric_code), {A2C_TAG_CLASS_UNIVERSAL, 18}, &A2C_NUMERIC_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"printable-code", OFFSET_OF(Cert_postalCode__Type, u.printable_code), {A2C_TAG_CLASS_UNIVERSAL, 19}, &A2C_PRINTABLE_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, }; const A2C_ITEM_HEADER Cert_postalCode__Type_description = { @@ -1239,11 +1239,11 @@ const A2C_INTEGER_NATIVE Cert_physicalDeliveryPersonalName__id={13}; const A2C_ITEM Cert_CommonName_description_table[] = { - {"teletexString", OFFSET_OF(Cert_CommonName, teletexString), {A2C_TAG_CLASS_UNIVERSAL, 20}, &A2C_TELETEX_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"printableString", OFFSET_OF(Cert_CommonName, printableString), {A2C_TAG_CLASS_UNIVERSAL, 19}, &A2C_PRINTABLE_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"universalString", OFFSET_OF(Cert_CommonName, universalString), {A2C_TAG_CLASS_UNIVERSAL, 28}, &A2C_UNIVERSAL_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"utf8String", OFFSET_OF(Cert_CommonName, utf8String), {A2C_TAG_CLASS_UNIVERSAL, 12}, &A2C_UTF8_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"bmpString", OFFSET_OF(Cert_CommonName, bmpString), {A2C_TAG_CLASS_UNIVERSAL, 30}, &A2C_BMP_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"teletexString", OFFSET_OF(Cert_CommonName, u.teletexString), {A2C_TAG_CLASS_UNIVERSAL, 20}, &A2C_TELETEX_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"printableString", OFFSET_OF(Cert_CommonName, u.printableString), {A2C_TAG_CLASS_UNIVERSAL, 19}, &A2C_PRINTABLE_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"universalString", OFFSET_OF(Cert_CommonName, u.universalString), {A2C_TAG_CLASS_UNIVERSAL, 28}, &A2C_UNIVERSAL_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"utf8String", OFFSET_OF(Cert_CommonName, u.utf8String), {A2C_TAG_CLASS_UNIVERSAL, 12}, &A2C_UTF8_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"bmpString", OFFSET_OF(Cert_CommonName, u.bmpString), {A2C_TAG_CLASS_UNIVERSAL, 30}, &A2C_BMP_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, }; const A2C_ITEM_HEADER Cert_CommonName_description = { @@ -1268,11 +1268,11 @@ const A2C_INTEGER_NATIVE Cert_ub_domain_name_length={16}; const A2C_ITEM Cert_X520name_description_table[] = { - {"teletexString", OFFSET_OF(Cert_X520name, teletexString), {A2C_TAG_CLASS_UNIVERSAL, 20}, &A2C_TELETEX_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"printableString", OFFSET_OF(Cert_X520name, printableString), {A2C_TAG_CLASS_UNIVERSAL, 19}, &A2C_PRINTABLE_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"universalString", OFFSET_OF(Cert_X520name, universalString), {A2C_TAG_CLASS_UNIVERSAL, 28}, &A2C_UNIVERSAL_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"utf8String", OFFSET_OF(Cert_X520name, utf8String), {A2C_TAG_CLASS_UNIVERSAL, 12}, &A2C_UTF8_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"bmpString", OFFSET_OF(Cert_X520name, bmpString), {A2C_TAG_CLASS_UNIVERSAL, 30}, &A2C_BMP_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"teletexString", OFFSET_OF(Cert_X520name, u.teletexString), {A2C_TAG_CLASS_UNIVERSAL, 20}, &A2C_TELETEX_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"printableString", OFFSET_OF(Cert_X520name, u.printableString), {A2C_TAG_CLASS_UNIVERSAL, 19}, &A2C_PRINTABLE_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"universalString", OFFSET_OF(Cert_X520name, u.universalString), {A2C_TAG_CLASS_UNIVERSAL, 28}, &A2C_UNIVERSAL_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"utf8String", OFFSET_OF(Cert_X520name, u.utf8String), {A2C_TAG_CLASS_UNIVERSAL, 12}, &A2C_UTF8_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"bmpString", OFFSET_OF(Cert_X520name, u.bmpString), {A2C_TAG_CLASS_UNIVERSAL, 30}, &A2C_BMP_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, }; const A2C_ITEM_HEADER Cert_X520name_description = { @@ -1296,11 +1296,11 @@ const A2C_INTEGER_NATIVE Cert_physicalDeliveryOrganizationName__id={14}; const A2C_ITEM Cert_x520Title__Type_description_table[] = { - {"teletexString", OFFSET_OF(Cert_x520Title__Type, teletexString), {A2C_TAG_CLASS_UNIVERSAL, 20}, &A2C_TELETEX_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"printableString", OFFSET_OF(Cert_x520Title__Type, printableString), {A2C_TAG_CLASS_UNIVERSAL, 19}, &A2C_PRINTABLE_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"universalString", OFFSET_OF(Cert_x520Title__Type, universalString), {A2C_TAG_CLASS_UNIVERSAL, 28}, &A2C_UNIVERSAL_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"utf8String", OFFSET_OF(Cert_x520Title__Type, utf8String), {A2C_TAG_CLASS_UNIVERSAL, 12}, &A2C_UTF8_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"bmpString", OFFSET_OF(Cert_x520Title__Type, bmpString), {A2C_TAG_CLASS_UNIVERSAL, 30}, &A2C_BMP_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"teletexString", OFFSET_OF(Cert_x520Title__Type, u.teletexString), {A2C_TAG_CLASS_UNIVERSAL, 20}, &A2C_TELETEX_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"printableString", OFFSET_OF(Cert_x520Title__Type, u.printableString), {A2C_TAG_CLASS_UNIVERSAL, 19}, &A2C_PRINTABLE_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"universalString", OFFSET_OF(Cert_x520Title__Type, u.universalString), {A2C_TAG_CLASS_UNIVERSAL, 28}, &A2C_UNIVERSAL_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"utf8String", OFFSET_OF(Cert_x520Title__Type, u.utf8String), {A2C_TAG_CLASS_UNIVERSAL, 12}, &A2C_UTF8_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"bmpString", OFFSET_OF(Cert_x520Title__Type, u.bmpString), {A2C_TAG_CLASS_UNIVERSAL, 30}, &A2C_BMP_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, }; const A2C_ITEM_HEADER Cert_x520Title__Type_description = { @@ -1381,8 +1381,8 @@ const A2C_DESCRIPTOR Cert_EXTENSION_descriptor = { }; const A2C_ITEM Cert_physicalDeliveryCountryName__Type_description_table[] = { - {"x121-dcc-code", OFFSET_OF(Cert_physicalDeliveryCountryName__Type, x121_dcc_code), {A2C_TAG_CLASS_UNIVERSAL, 18}, &A2C_NUMERIC_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"iso-3166-alpha2-code", OFFSET_OF(Cert_physicalDeliveryCountryName__Type, iso_3166_alpha2_code), {A2C_TAG_CLASS_UNIVERSAL, 19}, &A2C_PRINTABLE_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"x121-dcc-code", OFFSET_OF(Cert_physicalDeliveryCountryName__Type, u.x121_dcc_code), {A2C_TAG_CLASS_UNIVERSAL, 18}, &A2C_NUMERIC_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"iso-3166-alpha2-code", OFFSET_OF(Cert_physicalDeliveryCountryName__Type, u.iso_3166_alpha2_code), {A2C_TAG_CLASS_UNIVERSAL, 19}, &A2C_PRINTABLE_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, }; const A2C_ITEM_HEADER Cert_physicalDeliveryCountryName__Type_description = { @@ -1403,11 +1403,11 @@ const Cert_EXTENSION_ATTRIBUTE Cert_physicalDeliveryCountryName = { &Cert_physic const Cert_ATTRIBUTE Cert_commonName = { &Cert_id_at_commonName, &Cert_CommonName_descriptor, }; const A2C_ITEM Cert_x520LocalityName__Type_description_table[] = { - {"teletexString", OFFSET_OF(Cert_x520LocalityName__Type, teletexString), {A2C_TAG_CLASS_UNIVERSAL, 20}, &A2C_TELETEX_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"printableString", OFFSET_OF(Cert_x520LocalityName__Type, printableString), {A2C_TAG_CLASS_UNIVERSAL, 19}, &A2C_PRINTABLE_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"universalString", OFFSET_OF(Cert_x520LocalityName__Type, universalString), {A2C_TAG_CLASS_UNIVERSAL, 28}, &A2C_UNIVERSAL_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"utf8String", OFFSET_OF(Cert_x520LocalityName__Type, utf8String), {A2C_TAG_CLASS_UNIVERSAL, 12}, &A2C_UTF8_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"bmpString", OFFSET_OF(Cert_x520LocalityName__Type, bmpString), {A2C_TAG_CLASS_UNIVERSAL, 30}, &A2C_BMP_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"teletexString", OFFSET_OF(Cert_x520LocalityName__Type, u.teletexString), {A2C_TAG_CLASS_UNIVERSAL, 20}, &A2C_TELETEX_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"printableString", OFFSET_OF(Cert_x520LocalityName__Type, u.printableString), {A2C_TAG_CLASS_UNIVERSAL, 19}, &A2C_PRINTABLE_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"universalString", OFFSET_OF(Cert_x520LocalityName__Type, u.universalString), {A2C_TAG_CLASS_UNIVERSAL, 28}, &A2C_UNIVERSAL_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"utf8String", OFFSET_OF(Cert_x520LocalityName__Type, u.utf8String), {A2C_TAG_CLASS_UNIVERSAL, 12}, &A2C_UTF8_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"bmpString", OFFSET_OF(Cert_x520LocalityName__Type, u.bmpString), {A2C_TAG_CLASS_UNIVERSAL, 30}, &A2C_BMP_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, }; const A2C_ITEM_HEADER Cert_x520LocalityName__Type_description = { @@ -1427,11 +1427,11 @@ const A2C_DESCRIPTOR Cert_x520LocalityName__Type_descriptor = { const Cert_ATTRIBUTE Cert_x520LocalityName = { &Cert_id_at_localityName, &Cert_x520LocalityName__Type_descriptor, }; const A2C_ITEM Cert_x520StateOrProvinceName__Type_description_table[] = { - {"teletexString", OFFSET_OF(Cert_x520StateOrProvinceName__Type, teletexString), {A2C_TAG_CLASS_UNIVERSAL, 20}, &A2C_TELETEX_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"printableString", OFFSET_OF(Cert_x520StateOrProvinceName__Type, printableString), {A2C_TAG_CLASS_UNIVERSAL, 19}, &A2C_PRINTABLE_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"universalString", OFFSET_OF(Cert_x520StateOrProvinceName__Type, universalString), {A2C_TAG_CLASS_UNIVERSAL, 28}, &A2C_UNIVERSAL_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"utf8String", OFFSET_OF(Cert_x520StateOrProvinceName__Type, utf8String), {A2C_TAG_CLASS_UNIVERSAL, 12}, &A2C_UTF8_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"bmpString", OFFSET_OF(Cert_x520StateOrProvinceName__Type, bmpString), {A2C_TAG_CLASS_UNIVERSAL, 30}, &A2C_BMP_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"teletexString", OFFSET_OF(Cert_x520StateOrProvinceName__Type, u.teletexString), {A2C_TAG_CLASS_UNIVERSAL, 20}, &A2C_TELETEX_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"printableString", OFFSET_OF(Cert_x520StateOrProvinceName__Type, u.printableString), {A2C_TAG_CLASS_UNIVERSAL, 19}, &A2C_PRINTABLE_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"universalString", OFFSET_OF(Cert_x520StateOrProvinceName__Type, u.universalString), {A2C_TAG_CLASS_UNIVERSAL, 28}, &A2C_UNIVERSAL_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"utf8String", OFFSET_OF(Cert_x520StateOrProvinceName__Type, u.utf8String), {A2C_TAG_CLASS_UNIVERSAL, 12}, &A2C_UTF8_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"bmpString", OFFSET_OF(Cert_x520StateOrProvinceName__Type, u.bmpString), {A2C_TAG_CLASS_UNIVERSAL, 30}, &A2C_BMP_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, }; const A2C_ITEM_HEADER Cert_x520StateOrProvinceName__Type_description = { @@ -1451,11 +1451,11 @@ const A2C_DESCRIPTOR Cert_x520StateOrProvinceName__Type_descriptor = { const Cert_ATTRIBUTE Cert_x520StateOrProvinceName = { &Cert_id_at_stateOrProvinceName, &Cert_x520StateOrProvinceName__Type_descriptor, }; const A2C_ITEM Cert_x520OrganizationName__Type_description_table[] = { - {"teletexString", OFFSET_OF(Cert_x520OrganizationName__Type, teletexString), {A2C_TAG_CLASS_UNIVERSAL, 20}, &A2C_TELETEX_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"printableString", OFFSET_OF(Cert_x520OrganizationName__Type, printableString), {A2C_TAG_CLASS_UNIVERSAL, 19}, &A2C_PRINTABLE_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"universalString", OFFSET_OF(Cert_x520OrganizationName__Type, universalString), {A2C_TAG_CLASS_UNIVERSAL, 28}, &A2C_UNIVERSAL_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"utf8String", OFFSET_OF(Cert_x520OrganizationName__Type, utf8String), {A2C_TAG_CLASS_UNIVERSAL, 12}, &A2C_UTF8_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"bmpString", OFFSET_OF(Cert_x520OrganizationName__Type, bmpString), {A2C_TAG_CLASS_UNIVERSAL, 30}, &A2C_BMP_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"teletexString", OFFSET_OF(Cert_x520OrganizationName__Type, u.teletexString), {A2C_TAG_CLASS_UNIVERSAL, 20}, &A2C_TELETEX_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"printableString", OFFSET_OF(Cert_x520OrganizationName__Type, u.printableString), {A2C_TAG_CLASS_UNIVERSAL, 19}, &A2C_PRINTABLE_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"universalString", OFFSET_OF(Cert_x520OrganizationName__Type, u.universalString), {A2C_TAG_CLASS_UNIVERSAL, 28}, &A2C_UNIVERSAL_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"utf8String", OFFSET_OF(Cert_x520OrganizationName__Type, u.utf8String), {A2C_TAG_CLASS_UNIVERSAL, 12}, &A2C_UTF8_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"bmpString", OFFSET_OF(Cert_x520OrganizationName__Type, u.bmpString), {A2C_TAG_CLASS_UNIVERSAL, 30}, &A2C_BMP_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, }; const A2C_ITEM_HEADER Cert_x520OrganizationName__Type_description = { @@ -1475,11 +1475,11 @@ const A2C_DESCRIPTOR Cert_x520OrganizationName__Type_descriptor = { const Cert_ATTRIBUTE Cert_x520OrganizationName = { &Cert_id_at_organizationName, &Cert_x520OrganizationName__Type_descriptor, }; const A2C_ITEM Cert_x520OrganizationalUnitName__Type_description_table[] = { - {"teletexString", OFFSET_OF(Cert_x520OrganizationalUnitName__Type, teletexString), {A2C_TAG_CLASS_UNIVERSAL, 20}, &A2C_TELETEX_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"printableString", OFFSET_OF(Cert_x520OrganizationalUnitName__Type, printableString), {A2C_TAG_CLASS_UNIVERSAL, 19}, &A2C_PRINTABLE_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"universalString", OFFSET_OF(Cert_x520OrganizationalUnitName__Type, universalString), {A2C_TAG_CLASS_UNIVERSAL, 28}, &A2C_UNIVERSAL_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"utf8String", OFFSET_OF(Cert_x520OrganizationalUnitName__Type, utf8String), {A2C_TAG_CLASS_UNIVERSAL, 12}, &A2C_UTF8_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"bmpString", OFFSET_OF(Cert_x520OrganizationalUnitName__Type, bmpString), {A2C_TAG_CLASS_UNIVERSAL, 30}, &A2C_BMP_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"teletexString", OFFSET_OF(Cert_x520OrganizationalUnitName__Type, u.teletexString), {A2C_TAG_CLASS_UNIVERSAL, 20}, &A2C_TELETEX_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"printableString", OFFSET_OF(Cert_x520OrganizationalUnitName__Type, u.printableString), {A2C_TAG_CLASS_UNIVERSAL, 19}, &A2C_PRINTABLE_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"universalString", OFFSET_OF(Cert_x520OrganizationalUnitName__Type, u.universalString), {A2C_TAG_CLASS_UNIVERSAL, 28}, &A2C_UNIVERSAL_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"utf8String", OFFSET_OF(Cert_x520OrganizationalUnitName__Type, u.utf8String), {A2C_TAG_CLASS_UNIVERSAL, 12}, &A2C_UTF8_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"bmpString", OFFSET_OF(Cert_x520OrganizationalUnitName__Type, u.bmpString), {A2C_TAG_CLASS_UNIVERSAL, 30}, &A2C_BMP_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, }; const A2C_ITEM_HEADER Cert_x520OrganizationalUnitName__Type_description = { @@ -1500,11 +1500,11 @@ const Cert_ATTRIBUTE Cert_x520OrganizationalUnitName = { &Cert_id_at_organizatio const Cert_ATTRIBUTE Cert_x520countryName = { &Cert_id_at_countryName, &Cert_x520countryName__Type_descriptor, }; const A2C_ITEM Cert_x520Pseudonym__Type_description_table[] = { - {"teletexString", OFFSET_OF(Cert_x520Pseudonym__Type, teletexString), {A2C_TAG_CLASS_UNIVERSAL, 20}, &A2C_TELETEX_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"printableString", OFFSET_OF(Cert_x520Pseudonym__Type, printableString), {A2C_TAG_CLASS_UNIVERSAL, 19}, &A2C_PRINTABLE_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"universalString", OFFSET_OF(Cert_x520Pseudonym__Type, universalString), {A2C_TAG_CLASS_UNIVERSAL, 28}, &A2C_UNIVERSAL_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"utf8String", OFFSET_OF(Cert_x520Pseudonym__Type, utf8String), {A2C_TAG_CLASS_UNIVERSAL, 12}, &A2C_UTF8_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"bmpString", OFFSET_OF(Cert_x520Pseudonym__Type, bmpString), {A2C_TAG_CLASS_UNIVERSAL, 30}, &A2C_BMP_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"teletexString", OFFSET_OF(Cert_x520Pseudonym__Type, u.teletexString), {A2C_TAG_CLASS_UNIVERSAL, 20}, &A2C_TELETEX_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"printableString", OFFSET_OF(Cert_x520Pseudonym__Type, u.printableString), {A2C_TAG_CLASS_UNIVERSAL, 19}, &A2C_PRINTABLE_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"universalString", OFFSET_OF(Cert_x520Pseudonym__Type, u.universalString), {A2C_TAG_CLASS_UNIVERSAL, 28}, &A2C_UNIVERSAL_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"utf8String", OFFSET_OF(Cert_x520Pseudonym__Type, u.utf8String), {A2C_TAG_CLASS_UNIVERSAL, 12}, &A2C_UTF8_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"bmpString", OFFSET_OF(Cert_x520Pseudonym__Type, u.bmpString), {A2C_TAG_CLASS_UNIVERSAL, 30}, &A2C_BMP_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, }; const A2C_ITEM_HEADER Cert_x520Pseudonym__Type_description = { @@ -1783,16 +1783,16 @@ const Cert_AttributeType Cert_id_at_organizationalUnitName={"2.5.4.11"}; const Cert_EXTENSION_ATTRIBUTE Cert_postOfficeBoxAddress = { &Cert_postOfficeBoxAddress__id, &Cert_PDSParameter_descriptor, }; -const A2C_ITEM Cert_extendedNetworkAddress__Type__e163_4_address_description_table[] = { - {"number", REL_OFFSET_OF(Cert_extendedNetworkAddress__Type, e163_4_address.number, e163_4_address), {A2C_TAG_CLASS_CONTEXT, 0}, &A2C_NUMERIC_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"sub-address", REL_OFFSET_OF(Cert_extendedNetworkAddress__Type, e163_4_address.sub_address, e163_4_address), {A2C_TAG_CLASS_CONTEXT, 1}, &A2C_NUMERIC_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT | A2C_FLAGS_OPTIONAL, 0}, +const A2C_ITEM Cert_extendedNetworkAddress__Type__u_e163_4_address_description_table[] = { + {"number", REL_OFFSET_OF(Cert_extendedNetworkAddress__Type, u.e163_4_address.number, u.e163_4_address), {A2C_TAG_CLASS_CONTEXT, 0}, &A2C_NUMERIC_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"sub-address", REL_OFFSET_OF(Cert_extendedNetworkAddress__Type, u.e163_4_address.sub_address, u.e163_4_address), {A2C_TAG_CLASS_CONTEXT, 1}, &A2C_NUMERIC_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT | A2C_FLAGS_OPTIONAL, 0}, }; -const A2C_ITEM_HEADER Cert_extendedNetworkAddress__Type__e163_4_address_description = { - 0, 0, countof(Cert_extendedNetworkAddress__Type__e163_4_address_description_table), Cert_extendedNetworkAddress__Type__e163_4_address_description_table +const A2C_ITEM_HEADER Cert_extendedNetworkAddress__Type__u_e163_4_address_description = { + 0, 0, countof(Cert_extendedNetworkAddress__Type__u_e163_4_address_description_table), Cert_extendedNetworkAddress__Type__u_e163_4_address_description_table }; -const A2C_DESCRIPTOR Cert_extendedNetworkAddress__Type__e163_4_address_descriptor = { +const A2C_DESCRIPTOR Cert_extendedNetworkAddress__Type__u_e163_4_address_descriptor = { (A2C_init_f) A2C_SEQUENCE_init, (A2C_release_f) A2C_SEQUENCE_release, (A2C_decoder_f) A2C_SEQUENCE_decode_der, (A2C_encoder_f) A2C_SEQUENCE_encode_der, (A2C_decoder_f) A2C_SEQUENCE_decode_ber, (A2C_encoder_f) A2C_SEQUENCE_encode_ber, @@ -1800,12 +1800,12 @@ const A2C_DESCRIPTOR Cert_extendedNetworkAddress__Type__e163_4_address_descripto (A2C_copy_f) A2C_SEQUENCE_copy, (A2C_print_f) A2C_SEQUENCE_print, A2C_SEQUENCE_validate, - &Cert_extendedNetworkAddress__Type__e163_4_address_description + &Cert_extendedNetworkAddress__Type__u_e163_4_address_description }; const A2C_ITEM Cert_extendedNetworkAddress__Type_description_table[] = { - {"e163-4-address", OFFSET_OF(Cert_extendedNetworkAddress__Type, e163_4_address), {A2C_TAG_CLASS_UNIVERSAL, 16}, &Cert_extendedNetworkAddress__Type__e163_4_address_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"psap-address", OFFSET_OF(Cert_extendedNetworkAddress__Type, psap_address), {A2C_TAG_CLASS_CONTEXT, 0}, &Cert_PresentationAddress_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"e163-4-address", OFFSET_OF(Cert_extendedNetworkAddress__Type, u.e163_4_address), {A2C_TAG_CLASS_UNIVERSAL, 16}, &Cert_extendedNetworkAddress__Type__u_e163_4_address_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"psap-address", OFFSET_OF(Cert_extendedNetworkAddress__Type, u.psap_address), {A2C_TAG_CLASS_CONTEXT, 0}, &Cert_PresentationAddress_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, }; const A2C_ITEM_HEADER Cert_extendedNetworkAddress__Type_description = { @@ -1890,11 +1890,11 @@ const A2C_OBJECT_IDENTIFIER CertImpl_id_kp_emailProtection={"1.3.6.1.5.5.7.3.4"} const A2C_ITEM CertImpl_EDIPartyName__nameAssigner_description_table[] = { - {"teletexString", REL_OFFSET_OF(CertImpl_EDIPartyName, nameAssigner.teletexString, nameAssigner), {A2C_TAG_CLASS_UNIVERSAL, 20}, &A2C_TELETEX_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"printableString", REL_OFFSET_OF(CertImpl_EDIPartyName, nameAssigner.printableString, nameAssigner), {A2C_TAG_CLASS_UNIVERSAL, 19}, &A2C_PRINTABLE_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"universalString", REL_OFFSET_OF(CertImpl_EDIPartyName, nameAssigner.universalString, nameAssigner), {A2C_TAG_CLASS_UNIVERSAL, 28}, &A2C_UNIVERSAL_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"utf8String", REL_OFFSET_OF(CertImpl_EDIPartyName, nameAssigner.utf8String, nameAssigner), {A2C_TAG_CLASS_UNIVERSAL, 12}, &A2C_UTF8_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"bmpString", REL_OFFSET_OF(CertImpl_EDIPartyName, nameAssigner.bmpString, nameAssigner), {A2C_TAG_CLASS_UNIVERSAL, 30}, &A2C_BMP_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"teletexString", REL_OFFSET_OF(CertImpl_EDIPartyName, nameAssigner.u.teletexString, nameAssigner.u), {A2C_TAG_CLASS_UNIVERSAL, 20}, &A2C_TELETEX_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"printableString", REL_OFFSET_OF(CertImpl_EDIPartyName, nameAssigner.u.printableString, nameAssigner.u), {A2C_TAG_CLASS_UNIVERSAL, 19}, &A2C_PRINTABLE_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"universalString", REL_OFFSET_OF(CertImpl_EDIPartyName, nameAssigner.u.universalString, nameAssigner.u), {A2C_TAG_CLASS_UNIVERSAL, 28}, &A2C_UNIVERSAL_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"utf8String", REL_OFFSET_OF(CertImpl_EDIPartyName, nameAssigner.u.utf8String, nameAssigner.u), {A2C_TAG_CLASS_UNIVERSAL, 12}, &A2C_UTF8_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"bmpString", REL_OFFSET_OF(CertImpl_EDIPartyName, nameAssigner.u.bmpString, nameAssigner.u), {A2C_TAG_CLASS_UNIVERSAL, 30}, &A2C_BMP_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, }; const A2C_ITEM_HEADER CertImpl_EDIPartyName__nameAssigner_description = { @@ -1913,11 +1913,11 @@ const A2C_DESCRIPTOR CertImpl_EDIPartyName__nameAssigner_descriptor = { }; const A2C_ITEM CertImpl_EDIPartyName__partyName_description_table[] = { - {"teletexString", REL_OFFSET_OF(CertImpl_EDIPartyName, partyName.teletexString, partyName), {A2C_TAG_CLASS_UNIVERSAL, 20}, &A2C_TELETEX_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"printableString", REL_OFFSET_OF(CertImpl_EDIPartyName, partyName.printableString, partyName), {A2C_TAG_CLASS_UNIVERSAL, 19}, &A2C_PRINTABLE_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"universalString", REL_OFFSET_OF(CertImpl_EDIPartyName, partyName.universalString, partyName), {A2C_TAG_CLASS_UNIVERSAL, 28}, &A2C_UNIVERSAL_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"utf8String", REL_OFFSET_OF(CertImpl_EDIPartyName, partyName.utf8String, partyName), {A2C_TAG_CLASS_UNIVERSAL, 12}, &A2C_UTF8_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"bmpString", REL_OFFSET_OF(CertImpl_EDIPartyName, partyName.bmpString, partyName), {A2C_TAG_CLASS_UNIVERSAL, 30}, &A2C_BMP_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"teletexString", REL_OFFSET_OF(CertImpl_EDIPartyName, partyName.u.teletexString, partyName.u), {A2C_TAG_CLASS_UNIVERSAL, 20}, &A2C_TELETEX_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"printableString", REL_OFFSET_OF(CertImpl_EDIPartyName, partyName.u.printableString, partyName.u), {A2C_TAG_CLASS_UNIVERSAL, 19}, &A2C_PRINTABLE_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"universalString", REL_OFFSET_OF(CertImpl_EDIPartyName, partyName.u.universalString, partyName.u), {A2C_TAG_CLASS_UNIVERSAL, 28}, &A2C_UNIVERSAL_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"utf8String", REL_OFFSET_OF(CertImpl_EDIPartyName, partyName.u.utf8String, partyName.u), {A2C_TAG_CLASS_UNIVERSAL, 12}, &A2C_UTF8_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"bmpString", REL_OFFSET_OF(CertImpl_EDIPartyName, partyName.u.bmpString, partyName.u), {A2C_TAG_CLASS_UNIVERSAL, 30}, &A2C_BMP_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, }; const A2C_ITEM_HEADER CertImpl_EDIPartyName__partyName_description = { @@ -1955,16 +1955,16 @@ const A2C_DESCRIPTOR CertImpl_EDIPartyName_descriptor = { &CertImpl_EDIPartyName_description }; -const A2C_ITEM CertImpl_GeneralName__otherName_description_table[] = { - {"&type-id", REL_OFFSET_OF(CertImpl_GeneralName, otherName.type_id, otherName), {A2C_TAG_CLASS_UNIVERSAL, 6}, &A2C_OBJECT_IDENTIFIER_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"&value", REL_OFFSET_OF(CertImpl_GeneralName, otherName.value, otherName), {A2C_TAG_CLASS_CONTEXT, 0}, &A2C_OPEN_TYPE_descriptor, 0, A2C_FLAGS_TAG_EXPLICIT, 0}, +const A2C_ITEM CertImpl_GeneralName__u_otherName_description_table[] = { + {"&type-id", REL_OFFSET_OF(CertImpl_GeneralName, u.otherName.type_id, u.otherName), {A2C_TAG_CLASS_UNIVERSAL, 6}, &A2C_OBJECT_IDENTIFIER_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"&value", REL_OFFSET_OF(CertImpl_GeneralName, u.otherName.value, u.otherName), {A2C_TAG_CLASS_CONTEXT, 0}, &A2C_OPEN_TYPE_descriptor, 0, A2C_FLAGS_TAG_EXPLICIT, 0}, }; -const A2C_ITEM_HEADER CertImpl_GeneralName__otherName_description = { - 0, 0, countof(CertImpl_GeneralName__otherName_description_table), CertImpl_GeneralName__otherName_description_table +const A2C_ITEM_HEADER CertImpl_GeneralName__u_otherName_description = { + 0, 0, countof(CertImpl_GeneralName__u_otherName_description_table), CertImpl_GeneralName__u_otherName_description_table }; -const A2C_DESCRIPTOR CertImpl_GeneralName__otherName_descriptor = { +const A2C_DESCRIPTOR CertImpl_GeneralName__u_otherName_descriptor = { (A2C_init_f) A2C_SEQUENCE_init, (A2C_release_f) A2C_SEQUENCE_release, (A2C_decoder_f) A2C_SEQUENCE_decode_der, (A2C_encoder_f) A2C_SEQUENCE_encode_der, (A2C_decoder_f) A2C_SEQUENCE_decode_ber, (A2C_encoder_f) A2C_SEQUENCE_encode_ber, @@ -1972,19 +1972,19 @@ const A2C_DESCRIPTOR CertImpl_GeneralName__otherName_descriptor = { (A2C_copy_f) A2C_SEQUENCE_copy, (A2C_print_f) A2C_SEQUENCE_print, A2C_SEQUENCE_validate, - &CertImpl_GeneralName__otherName_description + &CertImpl_GeneralName__u_otherName_description }; const A2C_ITEM CertImpl_GeneralName_description_table[] = { - {"otherName", OFFSET_OF(CertImpl_GeneralName, otherName), {A2C_TAG_CLASS_CONTEXT, 0}, &CertImpl_GeneralName__otherName_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"rfc822Name", OFFSET_OF(CertImpl_GeneralName, rfc822Name), {A2C_TAG_CLASS_CONTEXT, 1}, &A2C_IA5_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"dNSName", OFFSET_OF(CertImpl_GeneralName, dNSName), {A2C_TAG_CLASS_CONTEXT, 2}, &A2C_IA5_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"x400Address", OFFSET_OF(CertImpl_GeneralName, x400Address), {A2C_TAG_CLASS_CONTEXT, 3}, &Cert_ORAddress_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"directoryName", OFFSET_OF(CertImpl_GeneralName, directoryName), {A2C_TAG_CLASS_CONTEXT, 4}, &Cert_Name_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"ediPartyName", OFFSET_OF(CertImpl_GeneralName, ediPartyName), {A2C_TAG_CLASS_CONTEXT, 5}, &CertImpl_EDIPartyName_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"uniformResourceIdentifier", OFFSET_OF(CertImpl_GeneralName, uniformResourceIdentifier), {A2C_TAG_CLASS_CONTEXT, 6}, &A2C_IA5_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"iPAddress", OFFSET_OF(CertImpl_GeneralName, iPAddress), {A2C_TAG_CLASS_CONTEXT, 7}, &A2C_OCTET_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"registeredID", OFFSET_OF(CertImpl_GeneralName, registeredID), {A2C_TAG_CLASS_CONTEXT, 8}, &A2C_OBJECT_IDENTIFIER_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"otherName", OFFSET_OF(CertImpl_GeneralName, u.otherName), {A2C_TAG_CLASS_CONTEXT, 0}, &CertImpl_GeneralName__u_otherName_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"rfc822Name", OFFSET_OF(CertImpl_GeneralName, u.rfc822Name), {A2C_TAG_CLASS_CONTEXT, 1}, &A2C_IA5_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"dNSName", OFFSET_OF(CertImpl_GeneralName, u.dNSName), {A2C_TAG_CLASS_CONTEXT, 2}, &A2C_IA5_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"x400Address", OFFSET_OF(CertImpl_GeneralName, u.x400Address), {A2C_TAG_CLASS_CONTEXT, 3}, &Cert_ORAddress_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"directoryName", OFFSET_OF(CertImpl_GeneralName, u.directoryName), {A2C_TAG_CLASS_CONTEXT, 4}, &Cert_Name_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"ediPartyName", OFFSET_OF(CertImpl_GeneralName, u.ediPartyName), {A2C_TAG_CLASS_CONTEXT, 5}, &CertImpl_EDIPartyName_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"uniformResourceIdentifier", OFFSET_OF(CertImpl_GeneralName, u.uniformResourceIdentifier), {A2C_TAG_CLASS_CONTEXT, 6}, &A2C_IA5_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"iPAddress", OFFSET_OF(CertImpl_GeneralName, u.iPAddress), {A2C_TAG_CLASS_CONTEXT, 7}, &A2C_OCTET_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"registeredID", OFFSET_OF(CertImpl_GeneralName, u.registeredID), {A2C_TAG_CLASS_CONTEXT, 8}, &A2C_OBJECT_IDENTIFIER_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, }; const A2C_ITEM_HEADER CertImpl_GeneralName_description = { @@ -2096,8 +2096,8 @@ const A2C_DESCRIPTOR CertImpl_GeneralNames_descriptor = { }; const A2C_ITEM CertImpl_DistributionPointName_description_table[] = { - {"fullName", OFFSET_OF(CertImpl_DistributionPointName, fullName), {A2C_TAG_CLASS_CONTEXT, 0}, &CertImpl_GeneralNames_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"nameRelativeToCRLIssuer", OFFSET_OF(CertImpl_DistributionPointName, nameRelativeToCRLIssuer), {A2C_TAG_CLASS_CONTEXT, 1}, &Cert_RelativeDistinguishedName_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"fullName", OFFSET_OF(CertImpl_DistributionPointName, u.fullName), {A2C_TAG_CLASS_CONTEXT, 0}, &CertImpl_GeneralNames_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"nameRelativeToCRLIssuer", OFFSET_OF(CertImpl_DistributionPointName, u.nameRelativeToCRLIssuer), {A2C_TAG_CLASS_CONTEXT, 1}, &Cert_RelativeDistinguishedName_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, }; const A2C_ITEM_HEADER CertImpl_DistributionPointName_description = { @@ -2594,10 +2594,10 @@ const A2C_DESCRIPTOR CertImpl_SubjectInfoAccessSyntax_descriptor = { }; const A2C_ITEM CertImpl_DisplayText_description_table[] = { - {"ia5String", OFFSET_OF(CertImpl_DisplayText, ia5String), {A2C_TAG_CLASS_UNIVERSAL, 22}, &A2C_IA5_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"visibleString", OFFSET_OF(CertImpl_DisplayText, visibleString), {A2C_TAG_CLASS_UNIVERSAL, 26}, &A2C_VISIBLE_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"bmpString", OFFSET_OF(CertImpl_DisplayText, bmpString), {A2C_TAG_CLASS_UNIVERSAL, 30}, &A2C_BMP_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, - {"utf8String", OFFSET_OF(CertImpl_DisplayText, utf8String), {A2C_TAG_CLASS_UNIVERSAL, 12}, &A2C_UTF8_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"ia5String", OFFSET_OF(CertImpl_DisplayText, u.ia5String), {A2C_TAG_CLASS_UNIVERSAL, 22}, &A2C_IA5_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"visibleString", OFFSET_OF(CertImpl_DisplayText, u.visibleString), {A2C_TAG_CLASS_UNIVERSAL, 26}, &A2C_VISIBLE_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"bmpString", OFFSET_OF(CertImpl_DisplayText, u.bmpString), {A2C_TAG_CLASS_UNIVERSAL, 30}, &A2C_BMP_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, + {"utf8String", OFFSET_OF(CertImpl_DisplayText, u.utf8String), {A2C_TAG_CLASS_UNIVERSAL, 12}, &A2C_UTF8_STRING_descriptor, 0, A2C_FLAGS_TAG_IMPLICIT, 0}, }; const A2C_ITEM_HEADER CertImpl_DisplayText_description = { diff --git a/printcert/rfc3280.h b/printcert/rfc3280.h index 6d8d48f..6a4d403 100644 --- a/printcert/rfc3280.h +++ b/printcert/rfc3280.h @@ -79,7 +79,7 @@ typedef struct { union { #define Cert_Name_rdnSequence_index 0 Cert_RDNSequence rdnSequence; - }; + } u; } Cert_Name; extern const A2C_DESCRIPTOR Cert_Name_descriptor; @@ -147,7 +147,7 @@ typedef struct { A2C_UTC_TIME utcTime; #define Cert_Time_generalTime_index 1 A2C_GENERALIZED_TIME generalTime; - }; + } u; } Cert_Time; extern const A2C_DESCRIPTOR Cert_Time_descriptor; @@ -219,7 +219,7 @@ typedef struct { A2C_NUMERIC_STRING x121_dcc_code; #define Cert_CountryName_iso_3166_alpha2_code_index 1 A2C_PRINTABLE_STRING iso_3166_alpha2_code; - }; + } u; } Cert_CountryName; extern const A2C_DESCRIPTOR Cert_CountryName_descriptor; @@ -231,7 +231,7 @@ typedef struct { A2C_NUMERIC_STRING numeric; #define Cert_AdministrationDomainName_printable_index 1 A2C_PRINTABLE_STRING printable; - }; + } u; } Cert_AdministrationDomainName; extern const A2C_DESCRIPTOR Cert_AdministrationDomainName_descriptor; @@ -255,7 +255,7 @@ typedef struct { A2C_NUMERIC_STRING numeric; #define Cert_PrivateDomainName_printable_index 1 A2C_PRINTABLE_STRING printable; - }; + } u; } Cert_PrivateDomainName; extern const A2C_DESCRIPTOR Cert_PrivateDomainName_descriptor; @@ -461,7 +461,7 @@ typedef struct { A2C_NUMERIC_STRING numeric_code; #define Cert_postalCode__Type_printable_code_index 1 A2C_PRINTABLE_STRING printable_code; - }; + } u; } Cert_postalCode__Type; extern const A2C_DESCRIPTOR Cert_postalCode__Type_descriptor; @@ -508,7 +508,7 @@ typedef struct { A2C_UTF8_STRING utf8String; #define Cert_CommonName_bmpString_index 4 A2C_BMP_STRING bmpString; - }; + } u; } Cert_CommonName; extern const A2C_DESCRIPTOR Cert_CommonName_descriptor; @@ -529,7 +529,7 @@ typedef struct { A2C_UTF8_STRING utf8String; #define Cert_X520name_bmpString_index 4 A2C_BMP_STRING bmpString; - }; + } u; } Cert_X520name; extern const A2C_DESCRIPTOR Cert_X520name_descriptor; @@ -550,7 +550,7 @@ typedef struct { A2C_UTF8_STRING utf8String; #define Cert_x520Title__Type_bmpString_index 4 A2C_BMP_STRING bmpString; - }; + } u; } Cert_x520Title__Type; extern const A2C_DESCRIPTOR Cert_x520Title__Type_descriptor; @@ -582,7 +582,7 @@ typedef struct { A2C_NUMERIC_STRING x121_dcc_code; #define Cert_physicalDeliveryCountryName__Type_iso_3166_alpha2_code_index 1 A2C_PRINTABLE_STRING iso_3166_alpha2_code; - }; + } u; } Cert_physicalDeliveryCountryName__Type; extern const A2C_DESCRIPTOR Cert_physicalDeliveryCountryName__Type_descriptor; @@ -602,7 +602,7 @@ typedef struct { A2C_UTF8_STRING utf8String; #define Cert_x520LocalityName__Type_bmpString_index 4 A2C_BMP_STRING bmpString; - }; + } u; } Cert_x520LocalityName__Type; extern const A2C_DESCRIPTOR Cert_x520LocalityName__Type_descriptor; @@ -621,7 +621,7 @@ typedef struct { A2C_UTF8_STRING utf8String; #define Cert_x520StateOrProvinceName__Type_bmpString_index 4 A2C_BMP_STRING bmpString; - }; + } u; } Cert_x520StateOrProvinceName__Type; extern const A2C_DESCRIPTOR Cert_x520StateOrProvinceName__Type_descriptor; @@ -640,7 +640,7 @@ typedef struct { A2C_UTF8_STRING utf8String; #define Cert_x520OrganizationName__Type_bmpString_index 4 A2C_BMP_STRING bmpString; - }; + } u; } Cert_x520OrganizationName__Type; extern const A2C_DESCRIPTOR Cert_x520OrganizationName__Type_descriptor; @@ -659,7 +659,7 @@ typedef struct { A2C_UTF8_STRING utf8String; #define Cert_x520OrganizationalUnitName__Type_bmpString_index 4 A2C_BMP_STRING bmpString; - }; + } u; } Cert_x520OrganizationalUnitName__Type; extern const A2C_DESCRIPTOR Cert_x520OrganizationalUnitName__Type_descriptor; @@ -679,7 +679,7 @@ typedef struct { A2C_UTF8_STRING utf8String; #define Cert_x520Pseudonym__Type_bmpString_index 4 A2C_BMP_STRING bmpString; - }; + } u; } Cert_x520Pseudonym__Type; extern const A2C_DESCRIPTOR Cert_x520Pseudonym__Type_descriptor; @@ -812,7 +812,7 @@ typedef struct { } e163_4_address; #define Cert_extendedNetworkAddress__Type_psap_address_index 1 Cert_PresentationAddress psap_address; - }; + } u; } Cert_extendedNetworkAddress__Type; extern const A2C_DESCRIPTOR Cert_extendedNetworkAddress__Type_descriptor; @@ -854,7 +854,7 @@ typedef struct { A2C_UTF8_STRING utf8String; #define CertImpl_EDIPartyName__nameAssigner_bmpString_index 4 A2C_BMP_STRING bmpString; - }; + } u; } nameAssigner; struct { int index; @@ -869,7 +869,7 @@ typedef struct { A2C_UTF8_STRING utf8String; #define CertImpl_EDIPartyName__partyName_bmpString_index 4 A2C_BMP_STRING bmpString; - }; + } u; } partyName; } CertImpl_EDIPartyName; @@ -899,7 +899,7 @@ typedef struct { A2C_OCTET_STRING iPAddress; #define CertImpl_GeneralName_registeredID_index 8 A2C_OBJECT_IDENTIFIER registeredID; - }; + } u; } CertImpl_GeneralName; extern const A2C_DESCRIPTOR CertImpl_GeneralName_descriptor; @@ -947,7 +947,7 @@ typedef struct { CertImpl_GeneralNames fullName; #define CertImpl_DistributionPointName_nameRelativeToCRLIssuer_index 1 Cert_RelativeDistinguishedName nameRelativeToCRLIssuer; - }; + } u; } CertImpl_DistributionPointName; extern const A2C_DESCRIPTOR CertImpl_DistributionPointName_descriptor; @@ -1151,7 +1151,7 @@ typedef struct { A2C_BMP_STRING bmpString; #define CertImpl_DisplayText_utf8String_index 3 A2C_UTF8_STRING utf8String; - }; + } u; } CertImpl_DisplayText; extern const A2C_DESCRIPTOR CertImpl_DisplayText_descriptor; -- 2.11.4.GIT