-#include <proto.h>
-
-int z_LanguageCode(ODR o, char **p, int opt);
-int z_CommonInfo(ODR o, Z_CommonInfo **p, int opt);
-int z_HumanStringUnit(ODR o, Z_HumanStringUnit **p, int opt);
-int z_HumanString(ODR o, Z_HumanString **p, int opt);
-int z_IconObjectUnit(ODR o, Z_IconObjectUnit **p, int opt);
-int z_IconObject(ODR o, Z_IconObject **p, int opt);
-int z_ContactInfo(ODR o, Z_ContactInfo **p, int opt);
-int z_NetworkAddressIA(ODR o, Z_NetworkAddressIA **p, int opt);
-int z_NetworkAddressOPA(ODR o, Z_NetworkAddressOPA **p, int opt);
-int z_NetworkAddressOther(ODR o, Z_NetworkAddressOther **p, int opt);
-int z_NetworkAddress(ODR o, Z_NetworkAddress **p, int opt);
-int z_AccessInfo(ODR o, Z_AccessInfo **p, int opt);
-int z_QueryTypeDetails(ODR o, Z_QueryTypeDetails **p, int opt);
-int z_PrivateCapOperator(ODR o, Z_PrivateCapOperator **p, int opt);
-int z_PrivateCapabilities(ODR o, Z_PrivateCapabilities **p, int opt);
-int z_RpnCapabilities(ODR o, Z_RpnCapabilities **p, int opt);
-int z_Iso8777Capabilities(ODR o, Z_Iso8777Capabilities **p, int opt);
-int z_ProxSupportPrivate(ODR o, Z_ProxSupportPrivate **p, int opt);
-int z_ProxSupportUnit(ODR o, Z_ProxSupportUnit **p, int opt);
-int z_ProximitySupport(ODR o, Z_ProximitySupport **p, int opt);
-int z_SearchKey(ODR o, Z_SearchKey **p, int opt);
-int z_AccessRestrictionsUnit(ODR o, Z_AccessRestrictionsUnit **p, int opt);
-int z_AccessRestrictions(ODR o, Z_AccessRestrictions **p, int opt);
-int z_CostsOtherCharge(ODR o, Z_CostsOtherCharge **p, int opt);
-int z_Costs(ODR o, Z_Costs **p, int opt);
-int z_Charge(ODR o, Z_Charge **p, int opt);
-int z_DatabaseList(ODR o, Z_DatabaseList **p, int opt);
-int z_AttributeCombinations(ODR o, Z_AttributeCombinations **p, int opt);
-int z_AttributeCombination(ODR o, Z_AttributeCombination **p, int opt);
-int z_AttributeValueList(ODR o, Z_AttributeValueList **p, int opt);
-int z_AttributeOccurrence(ODR o, Z_AttributeOccurrence **p, int opt);
-int z_AttributeValue(ODR o, Z_AttributeValue **p, int opt);
-int z_TargetInfo(ODR o, Z_TargetInfo **p, int opt);
-int z_DatabaseInfo(ODR o, Z_DatabaseInfo **p, int opt);
-int z_TagTypeMapping(ODR o, Z_TagTypeMapping **p, int opt);
-int z_SchemaInfo(ODR o, Z_SchemaInfo **p, int opt);
-int z_ElementInfo(ODR o, Z_ElementInfo **p, int opt);
-int z_PathUnit(ODR o, Z_PathUnit **p, int opt);
-int z_Path(ODR o, Z_Path **p, int opt);
-int z_ElementInfoList(ODR o, Z_Path **p, int opt);
-int z_ElementDataType(ODR o, Z_ElementDataType **p, int opt);
-int z_TagSetInfoElements(ODR o, Z_TagSetInfoElements **p, int opt);
-int z_TagSetInfo(ODR o, Z_TagSetInfo **p, int opt);
-int z_RecordSyntaxInfo(ODR o, Z_RecordSyntaxInfo **p, int opt);
-int z_AttributeSetInfo(ODR o, Z_AttributeSetInfo **p, int opt);
-int z_AttributeType(ODR o, Z_AttributeType **p, int opt);
-int z_AttributeDescription(ODR o, Z_AttributeDescription **p, int opt);
-int z_TermListElement(ODR o, Z_TermListElement **p, int opt);
-int z_TermListInfo(ODR o, Z_TermListInfo **p, int opt);
-int z_ExtendedServicesInfo(ODR o, Z_ExtendedServicesInfo **p, int opt);
-int z_AttributeDetails(ODR o, Z_AttributeDetails **p, int opt);
-int z_AttributeSetDetails(ODR o, Z_AttributeSetDetails **p, int opt);
-int z_AttributeTypeDetails(ODR o, Z_AttributeTypeDetails **p, int opt);
-int z_OmittedAttributeInterpretation(ODR o, Z_OmittedAttributeInterpretation **p, int opt);
-int z_EScanInfo(ODR o, Z_EScanInfo **p, int opt);
-int z_TermListDetails(ODR o, Z_TermListDetails **p, int opt);
-int z_ElementSetDetails(ODR o, Z_ElementSetDetails **p, int opt);
-int z_RetrievalRecordDetails(ODR o, Z_RetrievalRecordDetails **p, int opt);
-int z_PerElementDetails(ODR o, Z_PerElementDetails **p, int opt);
-int z_RecordTag(ODR o, Z_RecordTag **p, int opt);
-int z_SortDetails(ODR o, Z_SortDetails **p, int opt);
-int z_SortKeyDetailsSortType(ODR o, Z_SortKeyDetailsSortType **p, int opt);
-int z_SortKeyDetails(ODR o, Z_SortKeyDetails **p, int opt);
-int z_ProcessingInformation(ODR o, Z_ProcessingInformation **p, int opt);
-int z_VariantSetInfo(ODR o, Z_VariantSetInfo **p, int opt);
-int z_VariantClass(ODR o, Z_VariantClass **p, int opt);
-int z_VariantType(ODR o, Z_VariantType **p, int opt);
-int z_VariantValue(ODR o, Z_VariantValue **p, int opt);
-int z_ValueSetEnumerated(ODR o, Z_ValueSetEnumerated **p, int opt);
-int z_ValueSet(ODR o, Z_ValueSet **p, int opt);
-int z_ValueRange(ODR o, Z_ValueRange **p, int opt);
-int z_ValueDescription(ODR o, Z_ValueDescription **p, int opt);
-int z_UnitInfo(ODR o, Z_UnitInfo **p, int opt);
-int z_UnitType(ODR o, Z_UnitType **p, int opt);
-int z_Units(ODR o, Z_Units **p, int opt);
-int z_CategoryList(ODR o, Z_CategoryList **p, int opt);
-int z_CategoryInfo(ODR o, Z_CategoryInfo **p, int opt);
-int z_ExplainRecord(ODR o, Z_ExplainRecord **p, int opt);
-
-int z_LanguageCode(ODR o, char **p, int opt)
-{
- return z_InternationalString(o, p, opt);
-}
-
-int z_CommonInfo(ODR o, Z_CommonInfo **p, int opt)
-{
- if (!odr_sequence_begin(o, p, sizeof(**p)))
+#include <yaz/proto.h>
+
+int z_LanguageCode(ODR o, char **p, int opt, const char *name);
+int z_CommonInfo(ODR o, Z_CommonInfo **p, int opt, const char *name);
+int z_HumanStringUnit(ODR o, Z_HumanStringUnit **p, int opt, const char *name);
+int z_HumanString(ODR o, Z_HumanString **p, int opt, const char *name);
+int z_IconObjectUnit(ODR o, Z_IconObjectUnit **p, int opt, const char *name);
+int z_IconObject(ODR o, Z_IconObject **p, int opt, const char *name);
+int z_ContactInfo(ODR o, Z_ContactInfo **p, int opt, const char *name);
+int z_NetworkAddressIA(ODR o, Z_NetworkAddressIA **p, int opt,
+ const char *name);
+int z_NetworkAddressOPA(ODR o, Z_NetworkAddressOPA **p, int opt,
+ const char *name);
+int z_NetworkAddressOther(ODR o, Z_NetworkAddressOther **p, int opt,
+ const char *name);
+int z_NetworkAddress(ODR o, Z_NetworkAddress **p, int opt, const char *name);
+int z_AccessInfo(ODR o, Z_AccessInfo **p, int opt, const char *name);
+int z_QueryTypeDetails(ODR o, Z_QueryTypeDetails **p, int opt,
+ const char *name);
+int z_PrivateCapOperator(ODR o, Z_PrivateCapOperator **p, int opt,
+ const char *name);
+int z_PrivateCapabilities(ODR o, Z_PrivateCapabilities **p, int opt,
+ const char *name);
+int z_RpnCapabilities(ODR o, Z_RpnCapabilities **p, int opt, const char *name);
+int z_Iso8777Capabilities(ODR o, Z_Iso8777Capabilities **p, int opt,
+ const char *name);
+int z_ProxSupportPrivate(ODR o, Z_ProxSupportPrivate **p, int opt,
+ const char *name);
+int z_ProxSupportUnit(ODR o, Z_ProxSupportUnit **p, int opt, const char *name);
+int z_ProximitySupport(ODR o, Z_ProximitySupport **p, int opt,
+ const char *name);
+int z_SearchKey(ODR o, Z_SearchKey **p, int opt, const char *name);
+int z_AccessRestrictionsUnit(ODR o, Z_AccessRestrictionsUnit **p, int opt,
+ const char *name);
+int z_AccessRestrictions(ODR o, Z_AccessRestrictions **p, int opt,
+ const char *name);
+int z_CostsOtherCharge(ODR o, Z_CostsOtherCharge **p, int opt,
+ const char *name);
+int z_Costs(ODR o, Z_Costs **p, int opt, const char *name);
+int z_Charge(ODR o, Z_Charge **p, int opt, const char *name);
+int z_DatabaseList(ODR o, Z_DatabaseList **p, int opt, const char *name);
+int z_AttributeCombinations(ODR o, Z_AttributeCombinations **p, int opt,
+ const char *name);
+int z_AttributeCombination(ODR o, Z_AttributeCombination **p, int opt,
+ const char *name);
+int z_AttributeValueList(ODR o, Z_AttributeValueList **p, int opt,
+ const char *name);
+int z_AttributeOccurrence(ODR o, Z_AttributeOccurrence **p, int opt,
+ const char *name);
+int z_AttributeValue(ODR o, Z_AttributeValue **p, int opt, const char *name);
+int z_TargetInfo(ODR o, Z_TargetInfo **p, int opt, const char *name);
+int z_DatabaseInfo(ODR o, Z_DatabaseInfo **p, int opt, const char *name);
+int z_TagTypeMapping(ODR o, Z_TagTypeMapping **p, int opt, const char *name);
+int z_SchemaInfo(ODR o, Z_SchemaInfo **p, int opt, const char *name);
+int z_ElementInfo(ODR o, Z_ElementInfo **p, int opt, const char *name);
+int z_PathUnit(ODR o, Z_PathUnit **p, int opt, const char *name);
+int z_Path(ODR o, Z_Path **p, int opt, const char *name);
+int z_ElementInfoList(ODR o, Z_Path **p, int opt, const char *name);
+int z_ElementDataType(ODR o, Z_ElementDataType **p, int opt, const char *name);
+int z_TagSetInfoElements(ODR o, Z_TagSetInfoElements **p, int opt,
+ const char *name);
+int z_TagSetInfo(ODR o, Z_TagSetInfo **p, int opt, const char *name);
+int z_RecordSyntaxInfo(ODR o, Z_RecordSyntaxInfo **p, int opt,
+ const char *name);
+int z_AttributeSetInfo(ODR o, Z_AttributeSetInfo **p, int opt,
+ const char *name);
+int z_AttributeType(ODR o, Z_AttributeType **p, int opt, const char *name);
+int z_AttributeDescription(ODR o, Z_AttributeDescription **p, int opt,
+ const char *name);
+int z_TermListElement(ODR o, Z_TermListElement **p, int opt, const char *name);
+int z_TermListInfo(ODR o, Z_TermListInfo **p, int opt, const char *name);
+int z_ExtendedServicesInfo(ODR o, Z_ExtendedServicesInfo **p, int opt,
+ const char *name);
+int z_AttributeDetails(ODR o, Z_AttributeDetails **p, int opt,
+ const char *name);
+int z_AttributeSetDetails(ODR o, Z_AttributeSetDetails **p, int opt,
+ const char *name);
+int z_AttributeTypeDetails(ODR o, Z_AttributeTypeDetails **p, int opt,
+ const char *name);
+int z_OmittedAttributeInterpretation(ODR o,
+ Z_OmittedAttributeInterpretation **p,
+ int opt, const char *name);
+int z_EScanInfo(ODR o, Z_EScanInfo **p, int opt, const char *name);
+int z_TermListDetails(ODR o, Z_TermListDetails **p, int opt, const char *name);
+int z_ElementSetDetails(ODR o, Z_ElementSetDetails **p, int opt,
+ const char *name);
+int z_RetrievalRecordDetails(ODR o, Z_RetrievalRecordDetails **p, int opt,
+ const char *name);
+int z_PerElementDetails(ODR o, Z_PerElementDetails **p, int opt,
+ const char *name);
+int z_RecordTag(ODR o, Z_RecordTag **p, int opt, const char *name);
+int z_SortDetails(ODR o, Z_SortDetails **p, int opt, const char *name);
+int z_SortKeyDetails(ODR o, Z_SortKeyDetails **p, int opt, const char *name);
+int z_ProcessingInformation(ODR o, Z_ProcessingInformation **p, int opt,
+ const char *name);
+int z_VariantSetInfo(ODR o, Z_VariantSetInfo **p, int opt, const char *name);
+int z_VariantClass(ODR o, Z_VariantClass **p, int opt, const char *name);
+int z_VariantType(ODR o, Z_VariantType **p, int opt, const char *name);
+int z_VariantValue(ODR o, Z_VariantValue **p, int opt, const char *name);
+int z_ValueSetEnumerated(ODR o, Z_ValueSetEnumerated **p, int opt,
+ const char *name);
+int z_ValueSet(ODR o, Z_ValueSet **p, int opt, const char *name);
+int z_ValueRange(ODR o, Z_ValueRange **p, int opt, const char *name);
+int z_ValueDescription(ODR o, Z_ValueDescription **p, int opt,
+ const char *name);
+int z_UnitInfo(ODR o, Z_UnitInfo **p, int opt, const char *name);
+int z_UnitType(ODR o, Z_UnitType **p, int opt, const char *name);
+int z_Units(ODR o, Z_Units **p, int opt, const char *name);
+int z_CategoryList(ODR o, Z_CategoryList **p, int opt, const char *name);
+int z_CategoryInfo(ODR o, Z_CategoryInfo **p, int opt, const char *name);
+int z_ExplainRecord(ODR o, Z_ExplainRecord **p, int opt, const char *name);
+
+int z_LanguageCode(ODR o, char **p, int opt, const char *name)
+{
+ return z_InternationalString(o, p, opt, 0);
+}
+
+int z_CommonInfo(ODR o, Z_CommonInfo **p, int opt, const char *name)
+{
+ if (!odr_sequence_begin(o, p, sizeof(**p), 0))