• Main Page
  • Data Structures
  • Files

z-exp.h

Go to the documentation of this file.
00001 
00007 #ifndef z_exp_H
00008 #define z_exp_H
00009 
00010 #include <yaz/odr.h>
00011 #include <yaz/z-core.h>
00012 #ifdef __cplusplus
00013 extern "C" {
00014 #endif
00015 
00016 typedef struct Z_ExplainRecord Z_ExplainRecord;
00017 YAZ_EXPORT int z_ExplainRecord (ODR o, Z_ExplainRecord **p, int opt, const char *name);
00018 
00019 typedef struct Z_TargetInfo Z_TargetInfo;
00020 YAZ_EXPORT int z_TargetInfo (ODR o, Z_TargetInfo **p, int opt, const char *name);
00021 
00022 typedef struct Z_DatabaseInfo Z_DatabaseInfo;
00023 YAZ_EXPORT int z_DatabaseInfo (ODR o, Z_DatabaseInfo **p, int opt, const char *name);
00024 
00025 typedef struct Z_TagTypeMapping Z_TagTypeMapping;
00026 YAZ_EXPORT int z_TagTypeMapping (ODR o, Z_TagTypeMapping **p, int opt, const char *name);
00027 
00028 typedef struct Z_SchemaInfo Z_SchemaInfo;
00029 YAZ_EXPORT int z_SchemaInfo (ODR o, Z_SchemaInfo **p, int opt, const char *name);
00030 
00031 typedef struct Z_ElementInfo Z_ElementInfo;
00032 YAZ_EXPORT int z_ElementInfo (ODR o, Z_ElementInfo **p, int opt, const char *name);
00033 
00034 typedef struct Z_PathUnit Z_PathUnit;
00035 YAZ_EXPORT int z_PathUnit (ODR o, Z_PathUnit **p, int opt, const char *name);
00036 
00037 typedef struct Z_Path Z_Path;
00038 YAZ_EXPORT int z_Path (ODR o, Z_Path **p, int opt, const char *name);
00039 
00040 typedef struct Z_ElementInfoList Z_ElementInfoList;
00041 YAZ_EXPORT int z_ElementInfoList (ODR o, Z_ElementInfoList **p, int opt, const char *name);
00042 
00043 typedef struct Z_ElementDataType Z_ElementDataType;
00044 YAZ_EXPORT int z_ElementDataType (ODR o, Z_ElementDataType **p, int opt, const char *name);
00045 
00046 typedef int  Z_PrimitiveDataType;
00047 YAZ_EXPORT int z_PrimitiveDataType (ODR o, Z_PrimitiveDataType **p, int opt, const char *name);
00048 
00049 typedef struct Z_TagSetElements Z_TagSetElements;
00050 YAZ_EXPORT int z_TagSetElements (ODR o, Z_TagSetElements **p, int opt, const char *name);
00051 
00052 typedef struct Z_TagSetInfo Z_TagSetInfo;
00053 YAZ_EXPORT int z_TagSetInfo (ODR o, Z_TagSetInfo **p, int opt, const char *name);
00054 
00055 typedef struct Z_RecordSyntaxInfo Z_RecordSyntaxInfo;
00056 YAZ_EXPORT int z_RecordSyntaxInfo (ODR o, Z_RecordSyntaxInfo **p, int opt, const char *name);
00057 
00058 typedef struct Z_AttributeSetInfo Z_AttributeSetInfo;
00059 YAZ_EXPORT int z_AttributeSetInfo (ODR o, Z_AttributeSetInfo **p, int opt, const char *name);
00060 
00061 typedef struct Z_AttributeType Z_AttributeType;
00062 YAZ_EXPORT int z_AttributeType (ODR o, Z_AttributeType **p, int opt, const char *name);
00063 
00064 typedef struct Z_AttributeDescription Z_AttributeDescription;
00065 YAZ_EXPORT int z_AttributeDescription (ODR o, Z_AttributeDescription **p, int opt, const char *name);
00066 
00067 typedef struct Z_TermListElement Z_TermListElement;
00068 YAZ_EXPORT int z_TermListElement (ODR o, Z_TermListElement **p, int opt, const char *name);
00069 
00070 typedef struct Z_TermListInfo Z_TermListInfo;
00071 YAZ_EXPORT int z_TermListInfo (ODR o, Z_TermListInfo **p, int opt, const char *name);
00072 
00073 typedef struct Z_ExtendedServicesInfo Z_ExtendedServicesInfo;
00074 YAZ_EXPORT int z_ExtendedServicesInfo (ODR o, Z_ExtendedServicesInfo **p, int opt, const char *name);
00075 
00076 typedef struct Z_AttributeDetails Z_AttributeDetails;
00077 YAZ_EXPORT int z_AttributeDetails (ODR o, Z_AttributeDetails **p, int opt, const char *name);
00078 
00079 typedef struct Z_AttributeSetDetails Z_AttributeSetDetails;
00080 YAZ_EXPORT int z_AttributeSetDetails (ODR o, Z_AttributeSetDetails **p, int opt, const char *name);
00081 
00082 typedef struct Z_AttributeTypeDetails Z_AttributeTypeDetails;
00083 YAZ_EXPORT int z_AttributeTypeDetails (ODR o, Z_AttributeTypeDetails **p, int opt, const char *name);
00084 
00085 typedef struct Z_OmittedAttributeInterpretation Z_OmittedAttributeInterpretation;
00086 YAZ_EXPORT int z_OmittedAttributeInterpretation (ODR o, Z_OmittedAttributeInterpretation **p, int opt, const char *name);
00087 
00088 typedef struct Z_AttributeValue Z_AttributeValue;
00089 YAZ_EXPORT int z_AttributeValue (ODR o, Z_AttributeValue **p, int opt, const char *name);
00090 
00091 typedef struct Z_EScanInfo Z_EScanInfo;
00092 YAZ_EXPORT int z_EScanInfo (ODR o, Z_EScanInfo **p, int opt, const char *name);
00093 
00094 typedef struct Z_TermListDetails Z_TermListDetails;
00095 YAZ_EXPORT int z_TermListDetails (ODR o, Z_TermListDetails **p, int opt, const char *name);
00096 
00097 typedef struct Z_ElementSetDetails Z_ElementSetDetails;
00098 YAZ_EXPORT int z_ElementSetDetails (ODR o, Z_ElementSetDetails **p, int opt, const char *name);
00099 
00100 typedef struct Z_RetrievalRecordDetails Z_RetrievalRecordDetails;
00101 YAZ_EXPORT int z_RetrievalRecordDetails (ODR o, Z_RetrievalRecordDetails **p, int opt, const char *name);
00102 
00103 typedef struct Z_PerElementDetails Z_PerElementDetails;
00104 YAZ_EXPORT int z_PerElementDetails (ODR o, Z_PerElementDetails **p, int opt, const char *name);
00105 
00106 typedef struct Z_RecordTag Z_RecordTag;
00107 YAZ_EXPORT int z_RecordTag (ODR o, Z_RecordTag **p, int opt, const char *name);
00108 
00109 typedef struct Z_SortDetails Z_SortDetails;
00110 YAZ_EXPORT int z_SortDetails (ODR o, Z_SortDetails **p, int opt, const char *name);
00111 
00112 typedef struct Z_SortKeyDetails Z_SortKeyDetails;
00113 YAZ_EXPORT int z_SortKeyDetails (ODR o, Z_SortKeyDetails **p, int opt, const char *name);
00114 
00115 typedef struct Z_ProcessingInformation Z_ProcessingInformation;
00116 YAZ_EXPORT int z_ProcessingInformation (ODR o, Z_ProcessingInformation **p, int opt, const char *name);
00117 
00118 typedef struct Z_VariantSetInfo Z_VariantSetInfo;
00119 YAZ_EXPORT int z_VariantSetInfo (ODR o, Z_VariantSetInfo **p, int opt, const char *name);
00120 
00121 typedef struct Z_VariantClass Z_VariantClass;
00122 YAZ_EXPORT int z_VariantClass (ODR o, Z_VariantClass **p, int opt, const char *name);
00123 
00124 typedef struct Z_VariantType Z_VariantType;
00125 YAZ_EXPORT int z_VariantType (ODR o, Z_VariantType **p, int opt, const char *name);
00126 
00127 typedef struct Z_VariantValue Z_VariantValue;
00128 YAZ_EXPORT int z_VariantValue (ODR o, Z_VariantValue **p, int opt, const char *name);
00129 
00130 typedef struct Z_ValueSetEnumerated Z_ValueSetEnumerated;
00131 YAZ_EXPORT int z_ValueSetEnumerated (ODR o, Z_ValueSetEnumerated **p, int opt, const char *name);
00132 
00133 typedef struct Z_ValueSet Z_ValueSet;
00134 YAZ_EXPORT int z_ValueSet (ODR o, Z_ValueSet **p, int opt, const char *name);
00135 
00136 typedef struct Z_ValueRange Z_ValueRange;
00137 YAZ_EXPORT int z_ValueRange (ODR o, Z_ValueRange **p, int opt, const char *name);
00138 
00139 typedef struct Z_ValueDescription Z_ValueDescription;
00140 YAZ_EXPORT int z_ValueDescription (ODR o, Z_ValueDescription **p, int opt, const char *name);
00141 
00142 typedef struct Z_UnitInfo Z_UnitInfo;
00143 YAZ_EXPORT int z_UnitInfo (ODR o, Z_UnitInfo **p, int opt, const char *name);
00144 
00145 typedef struct Z_UnitType Z_UnitType;
00146 YAZ_EXPORT int z_UnitType (ODR o, Z_UnitType **p, int opt, const char *name);
00147 
00148 typedef struct Z_Units Z_Units;
00149 YAZ_EXPORT int z_Units (ODR o, Z_Units **p, int opt, const char *name);
00150 
00151 typedef struct Z_CategoryList Z_CategoryList;
00152 YAZ_EXPORT int z_CategoryList (ODR o, Z_CategoryList **p, int opt, const char *name);
00153 
00154 typedef struct Z_CategoryInfo Z_CategoryInfo;
00155 YAZ_EXPORT int z_CategoryInfo (ODR o, Z_CategoryInfo **p, int opt, const char *name);
00156 
00157 typedef struct Z_CommonInfo Z_CommonInfo;
00158 YAZ_EXPORT int z_CommonInfo (ODR o, Z_CommonInfo **p, int opt, const char *name);
00159 
00160 typedef struct Z_HumanStringUnit Z_HumanStringUnit;
00161 YAZ_EXPORT int z_HumanStringUnit (ODR o, Z_HumanStringUnit **p, int opt, const char *name);
00162 
00163 typedef struct Z_HumanString Z_HumanString;
00164 YAZ_EXPORT int z_HumanString (ODR o, Z_HumanString **p, int opt, const char *name);
00165 
00166 typedef struct Z_IconObjectUnit Z_IconObjectUnit;
00167 YAZ_EXPORT int z_IconObjectUnit (ODR o, Z_IconObjectUnit **p, int opt, const char *name);
00168 
00169 typedef struct Z_IconObject Z_IconObject;
00170 YAZ_EXPORT int z_IconObject (ODR o, Z_IconObject **p, int opt, const char *name);
00171 
00172 typedef Z_InternationalString  Z_LanguageCode;
00173 YAZ_EXPORT int z_LanguageCode (ODR o, Z_LanguageCode **p, int opt, const char *name);
00174 
00175 typedef struct Z_ContactInfo Z_ContactInfo;
00176 YAZ_EXPORT int z_ContactInfo (ODR o, Z_ContactInfo **p, int opt, const char *name);
00177 
00178 typedef struct Z_NetworkAddressIA Z_NetworkAddressIA;
00179 YAZ_EXPORT int z_NetworkAddressIA (ODR o, Z_NetworkAddressIA **p, int opt, const char *name);
00180 
00181 typedef struct Z_NetworkAddressOPA Z_NetworkAddressOPA;
00182 YAZ_EXPORT int z_NetworkAddressOPA (ODR o, Z_NetworkAddressOPA **p, int opt, const char *name);
00183 
00184 typedef struct Z_NetworkAddressOther Z_NetworkAddressOther;
00185 YAZ_EXPORT int z_NetworkAddressOther (ODR o, Z_NetworkAddressOther **p, int opt, const char *name);
00186 
00187 typedef struct Z_NetworkAddress Z_NetworkAddress;
00188 YAZ_EXPORT int z_NetworkAddress (ODR o, Z_NetworkAddress **p, int opt, const char *name);
00189 
00190 typedef struct Z_AccessInfo Z_AccessInfo;
00191 YAZ_EXPORT int z_AccessInfo (ODR o, Z_AccessInfo **p, int opt, const char *name);
00192 
00193 typedef struct Z_QueryTypeDetails Z_QueryTypeDetails;
00194 YAZ_EXPORT int z_QueryTypeDetails (ODR o, Z_QueryTypeDetails **p, int opt, const char *name);
00195 
00196 typedef struct Z_PrivateCapOperator Z_PrivateCapOperator;
00197 YAZ_EXPORT int z_PrivateCapOperator (ODR o, Z_PrivateCapOperator **p, int opt, const char *name);
00198 
00199 typedef struct Z_PrivateCapabilities Z_PrivateCapabilities;
00200 YAZ_EXPORT int z_PrivateCapabilities (ODR o, Z_PrivateCapabilities **p, int opt, const char *name);
00201 
00202 typedef struct Z_RpnCapabilities Z_RpnCapabilities;
00203 YAZ_EXPORT int z_RpnCapabilities (ODR o, Z_RpnCapabilities **p, int opt, const char *name);
00204 
00205 typedef struct Z_Iso8777Capabilities Z_Iso8777Capabilities;
00206 YAZ_EXPORT int z_Iso8777Capabilities (ODR o, Z_Iso8777Capabilities **p, int opt, const char *name);
00207 
00208 typedef struct Z_ProxSupportPrivate Z_ProxSupportPrivate;
00209 YAZ_EXPORT int z_ProxSupportPrivate (ODR o, Z_ProxSupportPrivate **p, int opt, const char *name);
00210 
00211 typedef struct Z_ProxSupportUnit Z_ProxSupportUnit;
00212 YAZ_EXPORT int z_ProxSupportUnit (ODR o, Z_ProxSupportUnit **p, int opt, const char *name);
00213 
00214 typedef struct Z_ProximitySupport Z_ProximitySupport;
00215 YAZ_EXPORT int z_ProximitySupport (ODR o, Z_ProximitySupport **p, int opt, const char *name);
00216 
00217 typedef struct Z_SearchKey Z_SearchKey;
00218 YAZ_EXPORT int z_SearchKey (ODR o, Z_SearchKey **p, int opt, const char *name);
00219 
00220 typedef struct Z_AccessRestrictionsUnit Z_AccessRestrictionsUnit;
00221 YAZ_EXPORT int z_AccessRestrictionsUnit (ODR o, Z_AccessRestrictionsUnit **p, int opt, const char *name);
00222 
00223 typedef struct Z_AccessRestrictions Z_AccessRestrictions;
00224 YAZ_EXPORT int z_AccessRestrictions (ODR o, Z_AccessRestrictions **p, int opt, const char *name);
00225 
00226 typedef struct Z_CostsOtherCharge Z_CostsOtherCharge;
00227 YAZ_EXPORT int z_CostsOtherCharge (ODR o, Z_CostsOtherCharge **p, int opt, const char *name);
00228 
00229 typedef struct Z_Costs Z_Costs;
00230 YAZ_EXPORT int z_Costs (ODR o, Z_Costs **p, int opt, const char *name);
00231 
00232 typedef struct Z_Charge Z_Charge;
00233 YAZ_EXPORT int z_Charge (ODR o, Z_Charge **p, int opt, const char *name);
00234 
00235 typedef struct Z_DatabaseList Z_DatabaseList;
00236 YAZ_EXPORT int z_DatabaseList (ODR o, Z_DatabaseList **p, int opt, const char *name);
00237 
00238 typedef struct Z_AttributeCombinations Z_AttributeCombinations;
00239 YAZ_EXPORT int z_AttributeCombinations (ODR o, Z_AttributeCombinations **p, int opt, const char *name);
00240 
00241 typedef struct Z_AttributeCombination Z_AttributeCombination;
00242 YAZ_EXPORT int z_AttributeCombination (ODR o, Z_AttributeCombination **p, int opt, const char *name);
00243 
00244 typedef struct Z_AttributeValueList Z_AttributeValueList;
00245 YAZ_EXPORT int z_AttributeValueList (ODR o, Z_AttributeValueList **p, int opt, const char *name);
00246 
00247 typedef struct Z_AttributeOccurrence Z_AttributeOccurrence;
00248 YAZ_EXPORT int z_AttributeOccurrence (ODR o, Z_AttributeOccurrence **p, int opt, const char *name);
00249 #ifdef __cplusplus
00250 }
00251 #endif
00252 #ifdef __cplusplus
00253 extern "C" {
00254 #endif
00255 struct Z_ExplainRecord {
00256         int which;
00257         union {
00258                 Z_TargetInfo *targetInfo;
00259                 Z_DatabaseInfo *databaseInfo;
00260                 Z_SchemaInfo *schemaInfo;
00261                 Z_TagSetInfo *tagSetInfo;
00262                 Z_RecordSyntaxInfo *recordSyntaxInfo;
00263                 Z_AttributeSetInfo *attributeSetInfo;
00264                 Z_TermListInfo *termListInfo;
00265                 Z_ExtendedServicesInfo *extendedServicesInfo;
00266                 Z_AttributeDetails *attributeDetails;
00267                 Z_TermListDetails *termListDetails;
00268                 Z_ElementSetDetails *elementSetDetails;
00269                 Z_RetrievalRecordDetails *retrievalRecordDetails;
00270                 Z_SortDetails *sortDetails;
00271                 Z_ProcessingInformation *processing;
00272                 Z_VariantSetInfo *variants;
00273                 Z_UnitInfo *units;
00274                 Z_CategoryList *categoryList;
00275 #define Z_Explain_targetInfo 1
00276 #define Z_Explain_databaseInfo 2
00277 #define Z_Explain_schemaInfo 3
00278 #define Z_Explain_tagSetInfo 4
00279 #define Z_Explain_recordSyntaxInfo 5
00280 #define Z_Explain_attributeSetInfo 6
00281 #define Z_Explain_termListInfo 7
00282 #define Z_Explain_extendedServicesInfo 8
00283 #define Z_Explain_attributeDetails 9
00284 #define Z_Explain_termListDetails 10
00285 #define Z_Explain_elementSetDetails 11
00286 #define Z_Explain_retrievalRecordDetails 12
00287 #define Z_Explain_sortDetails 13
00288 #define Z_Explain_processing 14
00289 #define Z_Explain_variants 15
00290 #define Z_Explain_units 16
00291 #define Z_Explain_categoryList 17
00292         } u;
00293 };
00294 
00295 struct Z_TargetInfo {
00296         Z_CommonInfo *commonInfo; /* OPT */
00297         Z_InternationalString *name;
00298         Z_HumanString *recentNews; /* OPT */
00299         Z_IconObject *icon; /* OPT */
00300         bool_t *namedResultSets;
00301         bool_t *multipleDBsearch;
00302         int *maxResultSets; /* OPT */
00303         int *maxResultSize; /* OPT */
00304         int *maxTerms; /* OPT */
00305         Z_IntUnit *timeoutInterval; /* OPT */
00306         Z_HumanString *welcomeMessage; /* OPT */
00307         Z_ContactInfo *contactInfo; /* OPT */
00308         Z_HumanString *description; /* OPT */
00309         int num_nicknames;
00310         Z_InternationalString **nicknames; /* OPT */
00311         Z_HumanString *usageRest; /* OPT */
00312         Z_HumanString *paymentAddr; /* OPT */
00313         Z_HumanString *hours; /* OPT */
00314         int num_dbCombinations;
00315         Z_DatabaseList **dbCombinations; /* OPT */
00316         int num_addresses;
00317         Z_NetworkAddress **addresses; /* OPT */
00318         int num_languages;
00319         Z_InternationalString **languages; /* OPT */
00320         Z_AccessInfo *commonAccessInfo; /* OPT */
00321 };
00322 
00323 struct Z_DatabaseInfo {
00324         Z_CommonInfo *commonInfo; /* OPT */
00325         Z_DatabaseName *name;
00326         Odr_null *explainDatabase; /* OPT */
00327         int num_nicknames;
00328         Z_DatabaseName **nicknames; /* OPT */
00329         Z_IconObject *icon; /* OPT */
00330         bool_t *userFee;
00331         bool_t *available;
00332         Z_HumanString *titleString; /* OPT */
00333         int num_keywords;
00334         Z_HumanString **keywords; /* OPT */
00335         Z_HumanString *description; /* OPT */
00336         Z_DatabaseList *associatedDbs; /* OPT */
00337         Z_DatabaseList *subDbs; /* OPT */
00338         Z_HumanString *disclaimers; /* OPT */
00339         Z_HumanString *news; /* OPT */
00340         int which;
00341         union {
00342                 int *actualNumber;
00343                 int *approxNumber;
00344 #define Z_DatabaseInfo_actualNumber 1
00345 #define Z_DatabaseInfo_approxNumber 2
00346         } u; /* OPT */
00347         Z_HumanString *defaultOrder; /* OPT */
00348         int *avRecordSize; /* OPT */
00349         int *maxRecordSize; /* OPT */
00350         Z_HumanString *hours; /* OPT */
00351         Z_HumanString *bestTime; /* OPT */
00352         char *lastUpdate; /* OPT */
00353         Z_IntUnit *updateInterval; /* OPT */
00354         Z_HumanString *coverage; /* OPT */
00355         bool_t *proprietary; /* OPT */
00356         Z_HumanString *copyrightText; /* OPT */
00357         Z_HumanString *copyrightNotice; /* OPT */
00358         Z_ContactInfo *producerContactInfo; /* OPT */
00359         Z_ContactInfo *supplierContactInfo; /* OPT */
00360         Z_ContactInfo *submissionContactInfo; /* OPT */
00361         Z_AccessInfo *accessInfo; /* OPT */
00362 };
00363 
00364 struct Z_TagTypeMapping {
00365         int *tagType;
00366         Odr_oid *tagSet; /* OPT */
00367         Odr_null *defaultTagType; /* OPT */
00368 };
00369 
00370 struct Z_SchemaInfo {
00371         Z_CommonInfo *commonInfo; /* OPT */
00372         Odr_oid *schema;
00373         Z_InternationalString *name;
00374         Z_HumanString *description; /* OPT */
00375         int num_tagTypeMapping;
00376         Z_TagTypeMapping **tagTypeMapping; /* OPT */
00377         int num_recordStructure;
00378         Z_ElementInfo **recordStructure; /* OPT */
00379 };
00380 
00381 struct Z_ElementInfo {
00382         Z_InternationalString *elementName;
00383         Z_Path *elementTagPath;
00384         Z_ElementDataType *dataType; /* OPT */
00385         bool_t *required;
00386         bool_t *repeatable;
00387         Z_HumanString *description; /* OPT */
00388 };
00389 
00390 struct Z_PathUnit {
00391         int *tagType;
00392         Z_StringOrNumeric *tagValue;
00393 };
00394 
00395 struct Z_Path {
00396         int num;
00397         Z_PathUnit **elements;
00398 };
00399 
00400 struct Z_ElementInfoList {
00401         int num;
00402         Z_ElementInfo **elements;
00403 };
00404 
00405 struct Z_ElementDataType {
00406         int which;
00407         union {
00408                 Z_PrimitiveDataType *primitive;
00409                 Z_ElementInfoList *structured;
00410 #define Z_ElementDataType_primitive 1
00411 #define Z_ElementDataType_structured 2
00412         } u;
00413 };
00414 
00415 #define Z_PrimitiveDataType_octetString 0
00416 #define Z_PrimitiveDataType_numeric 1
00417 #define Z_PrimitiveDataType_date 2
00418 #define Z_PrimitiveDataType_external 3
00419 #define Z_PrimitiveDataType_string 4
00420 #define Z_PrimitiveDataType_trueOrFalse 5
00421 #define Z_PrimitiveDataType_oid 6
00422 #define Z_PrimitiveDataType_intUnit 7
00423 #define Z_PrimitiveDataType_empty 8
00424 #define Z_PrimitiveDataType_noneOfTheAbove 100
00425 
00426 struct Z_TagSetElements {
00427         Z_InternationalString *elementname;
00428         int num_nicknames;
00429         Z_InternationalString **nicknames; /* OPT */
00430         Z_StringOrNumeric *elementTag;
00431         Z_HumanString *description; /* OPT */
00432         Z_PrimitiveDataType *dataType; /* OPT */
00433         Z_OtherInformation *otherTagInfo; /* OPT */
00434 };
00435 
00436 struct Z_TagSetInfo {
00437         Z_CommonInfo *commonInfo; /* OPT */
00438         Odr_oid *tagSet;
00439         Z_InternationalString *name;
00440         Z_HumanString *description; /* OPT */
00441         int num_elements;
00442         Z_TagSetElements **elements; /* OPT */
00443 };
00444 
00445 struct Z_RecordSyntaxInfo {
00446         Z_CommonInfo *commonInfo; /* OPT */
00447         Odr_oid *recordSyntax;
00448         Z_InternationalString *name;
00449         int num_transferSyntaxes;
00450         Odr_oid **transferSyntaxes; /* OPT */
00451         Z_HumanString *description; /* OPT */
00452         Z_InternationalString *asn1Module; /* OPT */
00453         int num_abstractStructure;
00454         Z_ElementInfo **abstractStructure; /* OPT */
00455 };
00456 
00457 struct Z_AttributeSetInfo {
00458         Z_CommonInfo *commonInfo; /* OPT */
00459         Z_AttributeSetId *attributeSet;
00460         Z_InternationalString *name;
00461         int num_attributes;
00462         Z_AttributeType **attributes; /* OPT */
00463         Z_HumanString *description; /* OPT */
00464 };
00465 
00466 struct Z_AttributeType {
00467         Z_InternationalString *name; /* OPT */
00468         Z_HumanString *description; /* OPT */
00469         int *attributeType;
00470         int num_attributeValues;
00471         Z_AttributeDescription **attributeValues;
00472 };
00473 
00474 struct Z_AttributeDescription {
00475         Z_InternationalString *name; /* OPT */
00476         Z_HumanString *description; /* OPT */
00477         Z_StringOrNumeric *attributeValue;
00478         int num_equivalentAttributes;
00479         Z_StringOrNumeric **equivalentAttributes; /* OPT */
00480 };
00481 
00482 struct Z_TermListElement {
00483         Z_InternationalString *name;
00484         Z_HumanString *title; /* OPT */
00485 #define Z_TermListElement_optimized 0
00486 #define Z_TermListElement_normal 1
00487 #define Z_TermListElement_expensive 2
00488 #define Z_TermListElement_filter 3
00489         int *searchCost; /* OPT */</