1 /** \file z-exp.h 2 \brief ASN.1 Module RecordSyntax-explain 3 4 Generated automatically by YAZ ASN.1 Compiler 0.4 5 */ 6 7 #ifndef z_exp_H 8 #define z_exp_H 9 10 #include <yaz/odr.h> 11 #include <yaz/z-core.h> 12 #ifdef __cplusplus 13 extern "C" { 14 #endif 15 16 typedef struct Z_ExplainRecord Z_ExplainRecord; 17 YAZ_EXPORT int z_ExplainRecord(ODR o, Z_ExplainRecord **p, int opt, const char *name); 18 19 typedef struct Z_TargetInfo Z_TargetInfo; 20 YAZ_EXPORT int z_TargetInfo(ODR o, Z_TargetInfo **p, int opt, const char *name); 21 22 typedef struct Z_DatabaseInfo Z_DatabaseInfo; 23 YAZ_EXPORT int z_DatabaseInfo(ODR o, Z_DatabaseInfo **p, int opt, const char *name); 24 25 typedef struct Z_TagTypeMapping Z_TagTypeMapping; 26 YAZ_EXPORT int z_TagTypeMapping(ODR o, Z_TagTypeMapping **p, int opt, const char *name); 27 28 typedef struct Z_SchemaInfo Z_SchemaInfo; 29 YAZ_EXPORT int z_SchemaInfo(ODR o, Z_SchemaInfo **p, int opt, const char *name); 30 31 typedef struct Z_ElementInfo Z_ElementInfo; 32 YAZ_EXPORT int z_ElementInfo(ODR o, Z_ElementInfo **p, int opt, const char *name); 33 34 typedef struct Z_PathUnit Z_PathUnit; 35 YAZ_EXPORT int z_PathUnit(ODR o, Z_PathUnit **p, int opt, const char *name); 36 37 typedef struct Z_Path Z_Path; 38 YAZ_EXPORT int z_Path(ODR o, Z_Path **p, int opt, const char *name); 39 40 typedef struct Z_ElementInfoList Z_ElementInfoList; 41 YAZ_EXPORT int z_ElementInfoList(ODR o, Z_ElementInfoList **p, int opt, const char *name); 42 43 typedef struct Z_ElementDataType Z_ElementDataType; 44 YAZ_EXPORT int z_ElementDataType(ODR o, Z_ElementDataType **p, int opt, const char *name); 45 46 typedef Odr_int Z_PrimitiveDataType; 47 YAZ_EXPORT int z_PrimitiveDataType(ODR o, Z_PrimitiveDataType **p, int opt, const char *name); 48 49 typedef struct Z_TagSetElements Z_TagSetElements; 50 YAZ_EXPORT int z_TagSetElements(ODR o, Z_TagSetElements **p, int opt, const char *name); 51 52 typedef struct Z_TagSetInfo Z_TagSetInfo; 53 YAZ_EXPORT int z_TagSetInfo(ODR o, Z_TagSetInfo **p, int opt, const char *name); 54 55 typedef struct Z_RecordSyntaxInfo Z_RecordSyntaxInfo; 56 YAZ_EXPORT int z_RecordSyntaxInfo(ODR o, Z_RecordSyntaxInfo **p, int opt, const char *name); 57 58 typedef struct Z_AttributeSetInfo Z_AttributeSetInfo; 59 YAZ_EXPORT int z_AttributeSetInfo(ODR o, Z_AttributeSetInfo **p, int opt, const char *name); 60 61 typedef struct Z_AttributeType Z_AttributeType; 62 YAZ_EXPORT int z_AttributeType(ODR o, Z_AttributeType **p, int opt, const char *name); 63 64 typedef struct Z_AttributeDescription Z_AttributeDescription; 65 YAZ_EXPORT int z_AttributeDescription(ODR o, Z_AttributeDescription **p, int opt, const char *name); 66 67 typedef struct Z_TermListElement Z_TermListElement; 68 YAZ_EXPORT int z_TermListElement(ODR o, Z_TermListElement **p, int opt, const char *name); 69 70 typedef struct Z_TermListInfo Z_TermListInfo; 71 YAZ_EXPORT int z_TermListInfo(ODR o, Z_TermListInfo **p, int opt, const char *name); 72 73 typedef struct Z_ExtendedServicesInfo Z_ExtendedServicesInfo; 74 YAZ_EXPORT int z_ExtendedServicesInfo(ODR o, Z_ExtendedServicesInfo **p, int opt, const char *name); 75 76 typedef struct Z_AttributeDetails Z_AttributeDetails; 77 YAZ_EXPORT int z_AttributeDetails(ODR o, Z_AttributeDetails **p, int opt, const char *name); 78 79 typedef struct Z_AttributeSetDetails Z_AttributeSetDetails; 80 YAZ_EXPORT int z_AttributeSetDetails(ODR o, Z_AttributeSetDetails **p, int opt, const char *name); 81 82 typedef struct Z_AttributeTypeDetails Z_AttributeTypeDetails; 83 YAZ_EXPORT int z_AttributeTypeDetails(ODR o, Z_AttributeTypeDetails **p, int opt, const char *name); 84 85 typedef struct Z_OmittedAttributeInterpretation Z_OmittedAttributeInterpretation; 86 YAZ_EXPORT int z_OmittedAttributeInterpretation(ODR o, Z_OmittedAttributeInterpretation **p, int opt, const char *name); 87 88 typedef struct Z_AttributeValue Z_AttributeValue; 89 YAZ_EXPORT int z_AttributeValue(ODR o, Z_AttributeValue **p, int opt, const char *name); 90 91 typedef struct Z_EScanInfo Z_EScanInfo; 92 YAZ_EXPORT int z_EScanInfo(ODR o, Z_EScanInfo **p, int opt, const char *name); 93 94 typedef struct Z_TermListDetails Z_TermListDetails; 95 YAZ_EXPORT int z_TermListDetails(ODR o, Z_TermListDetails **p, int opt, const char *name); 96 97 typedef struct Z_ElementSetDetails Z_ElementSetDetails; 98 YAZ_EXPORT int z_ElementSetDetails(ODR o, Z_ElementSetDetails **p, int opt, const char *name); 99 100 typedef struct Z_RetrievalRecordDetails Z_RetrievalRecordDetails; 101 YAZ_EXPORT int z_RetrievalRecordDetails(ODR o, Z_RetrievalRecordDetails **p, int opt, const char *name); 102 103 typedef struct Z_PerElementDetails Z_PerElementDetails; 104 YAZ_EXPORT int z_PerElementDetails(ODR o, Z_PerElementDetails **p, int opt, const char *name); 105 106 typedef struct Z_RecordTag Z_RecordTag; 107 YAZ_EXPORT int z_RecordTag(ODR o, Z_RecordTag **p, int opt, const char *name); 108 109 typedef struct Z_SortDetails Z_SortDetails; 110 YAZ_EXPORT int z_SortDetails(ODR o, Z_SortDetails **p, int opt, const char *name); 111 112 typedef struct Z_SortKeyDetails Z_SortKeyDetails; 113 YAZ_EXPORT int z_SortKeyDetails(ODR o, Z_SortKeyDetails **p, int opt, const char *name); 114 115 typedef struct Z_ProcessingInformation Z_ProcessingInformation; 116 YAZ_EXPORT int z_ProcessingInformation(ODR o, Z_ProcessingInformation **p, int opt, const char *name); 117 118 typedef struct Z_VariantSetInfo Z_VariantSetInfo; 119 YAZ_EXPORT int z_VariantSetInfo(ODR o, Z_VariantSetInfo **p, int opt, const char *name); 120 121 typedef struct Z_VariantClass Z_VariantClass; 122 YAZ_EXPORT int z_VariantClass(ODR o, Z_VariantClass **p, int opt, const char *name); 123 124 typedef struct Z_VariantType Z_VariantType; 125 YAZ_EXPORT int z_VariantType(ODR o, Z_VariantType **p, int opt, const char *name); 126 127 typedef struct Z_VariantValue Z_VariantValue; 128 YAZ_EXPORT int z_VariantValue(ODR o, Z_VariantValue **p, int opt, const char *name); 129 130 typedef struct Z_ValueSetEnumerated Z_ValueSetEnumerated; 131 YAZ_EXPORT int z_ValueSetEnumerated(ODR o, Z_ValueSetEnumerated **p, int opt, const char *name); 132 133 typedef struct Z_ValueSet Z_ValueSet; 134 YAZ_EXPORT int z_ValueSet(ODR o, Z_ValueSet **p, int opt, const char *name); 135 136 typedef struct Z_ValueRange Z_ValueRange; 137 YAZ_EXPORT int z_ValueRange(ODR o, Z_ValueRange **p, int opt, const char *name); 138 139 typedef struct Z_ValueDescription Z_ValueDescription; 140 YAZ_EXPORT int z_ValueDescription(ODR o, Z_ValueDescription **p, int opt, const char *name); 141 142 typedef struct Z_UnitInfo Z_UnitInfo; 143 YAZ_EXPORT int z_UnitInfo(ODR o, Z_UnitInfo **p, int opt, const char *name); 144 145 typedef struct Z_UnitType Z_UnitType; 146 YAZ_EXPORT int z_UnitType(ODR o, Z_UnitType **p, int opt, const char *name); 147 148 typedef struct Z_Units Z_Units; 149 YAZ_EXPORT int z_Units(ODR o, Z_Units **p, int opt, const char *name); 150 151 typedef struct Z_CategoryList Z_CategoryList; 152 YAZ_EXPORT int z_CategoryList(ODR o, Z_CategoryList **p, int opt, const char *name); 153 154 typedef struct Z_CategoryInfo Z_CategoryInfo; 155 YAZ_EXPORT int z_CategoryInfo(ODR o, Z_CategoryInfo **p, int opt, const char *name); 156 157 typedef struct Z_CommonInfo Z_CommonInfo; 158 YAZ_EXPORT int z_CommonInfo(ODR o, Z_CommonInfo **p, int opt, const char *name); 159 160 typedef struct Z_HumanStringUnit Z_HumanStringUnit; 161 YAZ_EXPORT int z_HumanStringUnit(ODR o, Z_HumanStringUnit **p, int opt, const char *name); 162 163 typedef struct Z_HumanString Z_HumanString; 164 YAZ_EXPORT int z_HumanString(ODR o, Z_HumanString **p, int opt, const char *name); 165 166 typedef struct Z_IconObjectUnit Z_IconObjectUnit; 167 YAZ_EXPORT int z_IconObjectUnit(ODR o, Z_IconObjectUnit **p, int opt, const char *name); 168 169 typedef struct Z_IconObject Z_IconObject; 170 YAZ_EXPORT int z_IconObject(ODR o, Z_IconObject **p, int opt, const char *name); 171 172 typedef Z_InternationalString Z_LanguageCode; 173 YAZ_EXPORT int z_LanguageCode(ODR o, Z_LanguageCode **p, int opt, const char *name); 174 175 typedef struct Z_ContactInfo Z_ContactInfo; 176 YAZ_EXPORT int z_ContactInfo(ODR o, Z_ContactInfo **p, int opt, const char *name); 177 178 typedef struct Z_NetworkAddressIA Z_NetworkAddressIA; 179 YAZ_EXPORT int z_NetworkAddressIA(ODR o, Z_NetworkAddressIA **p, int opt, const char *name); 180 181 typedef struct Z_NetworkAddressOPA Z_NetworkAddressOPA; 182 YAZ_EXPORT int z_NetworkAddressOPA(ODR o, Z_NetworkAddressOPA **p, int opt, const char *name); 183 184 typedef struct Z_NetworkAddressOther Z_NetworkAddressOther; 185 YAZ_EXPORT int z_NetworkAddressOther(ODR o, Z_NetworkAddressOther **p, int opt, const char *name); 186 187 typedef struct Z_NetworkAddress Z_NetworkAddress; 188 YAZ_EXPORT int z_NetworkAddress(ODR o, Z_NetworkAddress **p, int opt, const char *name); 189 190 typedef struct Z_AccessInfo Z_AccessInfo; 191 YAZ_EXPORT int z_AccessInfo(ODR o, Z_AccessInfo **p, int opt, const char *name); 192 193 typedef struct Z_QueryTypeDetails Z_QueryTypeDetails; 194 YAZ_EXPORT int z_QueryTypeDetails(ODR o, Z_QueryTypeDetails **p, int opt, const char *name); 195 196 typedef struct Z_PrivateCapOperator Z_PrivateCapOperator; 197 YAZ_EXPORT int z_PrivateCapOperator(ODR o, Z_PrivateCapOperator **p, int opt, const char *name); 198 199 typedef struct Z_PrivateCapabilities Z_PrivateCapabilities; 200 YAZ_EXPORT int z_PrivateCapabilities(ODR o, Z_PrivateCapabilities **p, int opt, const char *name); 201 202 typedef struct Z_RpnCapabilities Z_RpnCapabilities; 203 YAZ_EXPORT int z_RpnCapabilities(ODR o, Z_RpnCapabilities **p, int opt, const char *name); 204 205 typedef struct Z_Iso8777Capabilities Z_Iso8777Capabilities; 206 YAZ_EXPORT int z_Iso8777Capabilities(ODR o, Z_Iso8777Capabilities **p, int opt, const char *name); 207 208 typedef struct Z_ProxSupportPrivate Z_ProxSupportPrivate; 209 YAZ_EXPORT int z_ProxSupportPrivate(ODR o, Z_ProxSupportPrivate **p, int opt, const char *name); 210 211 typedef struct Z_ProxSupportUnit Z_ProxSupportUnit; 212 YAZ_EXPORT int z_ProxSupportUnit(ODR o, Z_ProxSupportUnit **p, int opt, const char *name); 213 214 typedef struct Z_ProximitySupport Z_ProximitySupport; 215 YAZ_EXPORT int z_ProximitySupport(ODR o, Z_ProximitySupport **p, int opt, const char *name); 216 217 typedef struct Z_SearchKey Z_SearchKey; 218 YAZ_EXPORT int z_SearchKey(ODR o, Z_SearchKey **p, int opt, const char *name); 219 220 typedef struct Z_AccessRestrictionsUnit Z_AccessRestrictionsUnit; 221 YAZ_EXPORT int z_AccessRestrictionsUnit(ODR o, Z_AccessRestrictionsUnit **p, int opt, const char *name); 222 223 typedef struct Z_AccessRestrictions Z_AccessRestrictions; 224 YAZ_EXPORT int z_AccessRestrictions(ODR o, Z_AccessRestrictions **p, int opt, const char *name); 225 226 typedef struct Z_CostsOtherCharge Z_CostsOtherCharge; 227 YAZ_EXPORT int z_CostsOtherCharge(ODR o, Z_CostsOtherCharge **p, int opt, const char *name); 228 229 typedef struct Z_Costs Z_Costs; 230 YAZ_EXPORT int z_Costs(ODR o, Z_Costs **p, int opt, const char *name); 231 232 typedef struct Z_Charge Z_Charge; 233 YAZ_EXPORT int z_Charge(ODR o, Z_Charge **p, int opt, const char *name); 234 235 typedef struct Z_DatabaseList Z_DatabaseList; 236 YAZ_EXPORT int z_DatabaseList(ODR o, Z_DatabaseList **p, int opt, const char *name); 237 238 typedef struct Z_AttributeCombinations Z_AttributeCombinations; 239 YAZ_EXPORT int z_AttributeCombinations(ODR o, Z_AttributeCombinations **p, int opt, const char *name); 240 241 typedef struct Z_AttributeCombination Z_AttributeCombination; 242 YAZ_EXPORT int z_AttributeCombination(ODR o, Z_AttributeCombination **p, int opt, const char *name); 243 244 typedef struct Z_AttributeValueList Z_AttributeValueList; 245 YAZ_EXPORT int z_AttributeValueList(ODR o, Z_AttributeValueList **p, int opt, const char *name); 246 247 typedef struct Z_AttributeOccurrence Z_AttributeOccurrence; 248 YAZ_EXPORT int z_AttributeOccurrence(ODR o, Z_AttributeOccurrence **p, int opt, const char *name); 249 #ifdef __cplusplus 250 } 251 #endif 252 #ifdef __cplusplus 253 extern "C" { 254 #endif 255 struct Z_ExplainRecord { 256 int which; 257 union { 258 Z_TargetInfo *targetInfo; 259 Z_DatabaseInfo *databaseInfo; 260 Z_SchemaInfo *schemaInfo; 261 Z_TagSetInfo *tagSetInfo; 262 Z_RecordSyntaxInfo *recordSyntaxInfo; 263 Z_AttributeSetInfo *attributeSetInfo; 264 Z_TermListInfo *termListInfo; 265 Z_ExtendedServicesInfo *extendedServicesInfo; 266 Z_AttributeDetails *attributeDetails; 267 Z_TermListDetails *termListDetails; 268 Z_ElementSetDetails *elementSetDetails; 269 Z_RetrievalRecordDetails *retrievalRecordDetails; 270 Z_SortDetails *sortDetails; 271 Z_ProcessingInformation *processing; 272 Z_VariantSetInfo *variants; 273 Z_UnitInfo *units; 274 Z_CategoryList *categoryList; 275 #define Z_Explain_targetInfo 1 276 #define Z_Explain_databaseInfo 2 277 #define Z_Explain_schemaInfo 3 278 #define Z_Explain_tagSetInfo 4 279 #define Z_Explain_recordSyntaxInfo 5 280 #define Z_Explain_attributeSetInfo 6 281 #define Z_Explain_termListInfo 7 282 #define Z_Explain_extendedServicesInfo 8 283 #define Z_Explain_attributeDetails 9 284 #define Z_Explain_termListDetails 10 285 #define Z_Explain_elementSetDetails 11 286 #define Z_Explain_retrievalRecordDetails 12 287 #define Z_Explain_sortDetails 13 288 #define Z_Explain_processing 14 289 #define Z_Explain_variants 15 290 #define Z_Explain_units 16 291 #define Z_Explain_categoryList 17 292 } u; 293 }; 294 295 struct Z_TargetInfo { 296 Z_CommonInfo *commonInfo; /* OPT */ 297 Z_InternationalString *name; 298 Z_HumanString *recentNews; /* OPT */ 299 Z_IconObject *icon; /* OPT */ 300 Odr_bool *namedResultSets; 301 Odr_bool *multipleDBsearch; 302 Odr_int *maxResultSets; /* OPT */ 303 Odr_int *maxResultSize; /* OPT */ 304 Odr_int *maxTerms; /* OPT */ 305 Z_IntUnit *timeoutInterval; /* OPT */ 306 Z_HumanString *welcomeMessage; /* OPT */ 307 Z_ContactInfo *contactInfo; /* OPT */ 308 Z_HumanString *description; /* OPT */ 309 int num_nicknames; 310 Z_InternationalString **nicknames; /* OPT */ 311 Z_HumanString *usageRest; /* OPT */ 312 Z_HumanString *paymentAddr; /* OPT */ 313 Z_HumanString *hours; /* OPT */ 314 int num_dbCombinations; 315 Z_DatabaseList **dbCombinations; /* OPT */ 316 int num_addresses; 317 Z_NetworkAddress **addresses; /* OPT */ 318 int num_languages; 319 Z_InternationalString **languages; /* OPT */ 320 Z_AccessInfo *commonAccessInfo; /* OPT */ 321 }; 322 323 struct Z_DatabaseInfo { 324 Z_CommonInfo *commonInfo; /* OPT */ 325 Z_DatabaseName *name; 326 Odr_null *explainDatabase; /* OPT */ 327 int num_nicknames; 328 Z_DatabaseName **nicknames; /* OPT */ 329 Z_IconObject *icon; /* OPT */ 330 Odr_bool *userFee; 331 Odr_bool *available; 332 Z_HumanString *titleString; /* OPT */ 333 int num_keywords; 334 Z_HumanString **keywords; /* OPT */ 335 Z_HumanString *description; /* OPT */ 336 Z_DatabaseList *associatedDbs; /* OPT */ 337 Z_DatabaseList *subDbs; /* OPT */ 338 Z_HumanString *disclaimers; /* OPT */ 339 Z_HumanString *news; /* OPT */ 340 int which; 341 union { 342 Odr_int *actualNumber; 343 Odr_int *approxNumber; 344 #define Z_DatabaseInfo_actualNumber 1 345 #define Z_DatabaseInfo_approxNumber 2 346 } u; /* OPT */ 347 Z_HumanString *defaultOrder; /* OPT */ 348 Odr_int *avRecordSize; /* OPT */ 349 Odr_int *maxRecordSize; /* OPT */ 350 Z_HumanString *hours; /* OPT */ 351 Z_HumanString *bestTime; /* OPT */ 352 char *lastUpdate; /* OPT */ 353 Z_IntUnit *updateInterval; /* OPT */ 354 Z_HumanString *coverage; /* OPT */ 355 Odr_bool *proprietary; /* OPT */ 356 Z_HumanString *copyrightText; /* OPT */ 357 Z_HumanString *copyrightNotice; /* OPT */ 358 Z_ContactInfo *producerContactInfo; /* OPT */ 359 Z_ContactInfo *supplierContactInfo; /* OPT */ 360 Z_ContactInfo *submissionContactInfo; /* OPT */ 361 Z_AccessInfo *accessInfo; /* OPT */ 362 }; 363 364 struct Z_TagTypeMapping { 365 Odr_int *tagType; 366 Odr_oid *tagSet; /* OPT */ 367 Odr_null *defaultTagType; /* OPT */ 368 }; 369 370 struct Z_SchemaInfo { 371 Z_CommonInfo *commonInfo; /* OPT */ 372 Odr_oid *schema; 373 Z_InternationalString *name; 374 Z_HumanString *description; /* OPT */ 375 int num_tagTypeMapping; 376 Z_TagTypeMapping **tagTypeMapping; /* OPT */ 377 int num_recordStructure; 378 Z_ElementInfo **recordStructure; /* OPT */ 379 }; 380 381 struct Z_ElementInfo { 382 Z_InternationalString *elementName; 383 Z_Path *elementTagPath; 384 Z_ElementDataType *dataType; /* OPT */ 385 Odr_bool *required; 386 Odr_bool *repeatable; 387 Z_HumanString *description; /* OPT */ 388 }; 389 390 struct Z_PathUnit { 391 Odr_int *tagType; 392 Z_StringOrNumeric *tagValue; 393 }; 394 395 struct Z_Path { 396 int num; 397 Z_PathUnit **elements; 398 }; 399 400 struct Z_ElementInfoList { 401 int num; 402 Z_ElementInfo **elements; 403 }; 404 405 struct Z_ElementDataType { 406 int which; 407 union { 408 Z_PrimitiveDataType *primitive; 409 Z_ElementInfoList *structured; 410 #define Z_ElementDataType_primitive 1 411 #define Z_ElementDataType_structured 2 412 } u; 413 }; 414 415 #define Z_PrimitiveDataType_octetString 0 416 #define Z_PrimitiveDataType_numeric 1 417 #define Z_PrimitiveDataType_date 2 418 #define Z_PrimitiveDataType_external 3 419 #define Z_PrimitiveDataType_string 4 420 #define Z_PrimitiveDataType_trueOrFalse 5 421 #define Z_PrimitiveDataType_oid 6 422 #define Z_PrimitiveDataType_intUnit 7 423 #define Z_PrimitiveDataType_empty 8 424 #define Z_PrimitiveDataType_noneOfTheAbove 100 425 426 struct Z_TagSetElements { 427 Z_InternationalString *elementname; 428 int num_nicknames; 429 Z_InternationalString **nicknames; /* OPT */ 430 Z_StringOrNumeric *elementTag; 431 Z_HumanString *description; /* OPT */ 432 Z_PrimitiveDataType *dataType; /* OPT */ 433 Z_OtherInformation *otherTagInfo; /* OPT */ 434 }; 435 436 struct Z_TagSetInfo { 437 Z_CommonInfo *commonInfo; /* OPT */ 438 Odr_oid *tagSet; 439 Z_InternationalString *name; 440 Z_HumanString *description; /* OPT */ 441 int num_elements; 442 Z_TagSetElements **elements; /* OPT */ 443 }; 444 445 struct Z_RecordSyntaxInfo { 446 Z_CommonInfo *commonInfo; /* OPT */ 447 Odr_oid *recordSyntax; 448 Z_InternationalString *name; 449 int num_transferSyntaxes; 450 Odr_oid **transferSyntaxes; /* OPT */ 451 Z_HumanString *description; /* OPT */ 452 Z_InternationalString *asn1Module; /* OPT */ 453 int num_abstractStructure; 454 Z_ElementInfo **abstractStructure; /* OPT */ 455 }; 456 457 struct Z_AttributeSetInfo { 458 Z_CommonInfo *commonInfo; /* OPT */ 459 Z_AttributeSetId *attributeSet; 460 Z_InternationalString *name; 461 int num_attributes; 462 Z_AttributeType **attributes; /* OPT */ 463 Z_HumanString *description; /* OPT */ 464 }; 465 466 struct Z_AttributeType { 467 Z_InternationalString *name; /* OPT */ 468 Z_HumanString *description; /* OPT */ 469 Odr_int *attributeType; 470 int num_attributeValues; 471 Z_AttributeDescription **attributeValues; 472 }; 473 474 struct Z_AttributeDescription { 475 Z_InternationalString *name; /* OPT */ 476 Z_HumanString *description; /* OPT */ 477 Z_StringOrNumeric *attributeValue; 478 int num_equivalentAttributes; 479 Z_StringOrNumeric **equivalentAttributes; /* OPT */ 480 }; 481 482 struct Z_TermListElement { 483 Z_InternationalString *name; 484 Z_HumanString *title; /* OPT */ 485 #define Z_TermListElement_optimized 0 486 #define Z_TermListElement_normal 1 487 #define Z_TermListElement_expensive 2 488 #define Z_TermListElement_filter 3 489 Odr_int *searchCost; /* OPT */ 490 Odr_bool *scanable; 491 int num_broader; 492 Z_InternationalString **broader; /* OPT */ 493 int num_narrower; 494 Z_InternationalString **narrower; /* OPT */ 495 }; 496 497 struct Z_TermListInfo { 498 Z_CommonInfo *commonInfo; /* OPT */ 499 Z_DatabaseName *databaseName; 500 int num_termLists; 501 Z_TermListElement **termLists; 502 }; 503 504 struct Z_ExtendedServicesInfo { 505 Z_CommonInfo *commonInfo; /* OPT */ 506 Odr_oid *type; 507 Z_InternationalString *name; /* OPT */ 508 Odr_bool *privateType; 509 Odr_bool *restrictionsApply; 510 Odr_bool *feeApply; 511 Odr_bool *available; 512 Odr_bool *retentionSupported; 513 #define Z_ExtendedServicesInfo_waitSupported 1 514 #define Z_ExtendedServicesInfo_waitAlways 2 515 #define Z_ExtendedServicesInfo_waitNotSupported 3 516 #define Z_ExtendedServicesInfo_depends 4 517 #define Z_ExtendedServicesInfo_notSaying 5 518 Odr_int *waitAction; 519 Z_HumanString *description; /* OPT */ 520 Z_External *specificExplain; /* OPT */ 521 Z_InternationalString *esASN; /* OPT */ 522 }; 523 524 struct Z_AttributeDetails { 525 Z_CommonInfo *commonInfo; /* OPT */ 526 Z_DatabaseName *databaseName; 527 int num_attributesBySet; 528 Z_AttributeSetDetails **attributesBySet; /* OPT */ 529 Z_AttributeCombinations *attributeCombinations; /* OPT */ 530 }; 531 532 struct Z_AttributeSetDetails { 533 Z_AttributeSetId *attributeSet; 534 int num_attributesByType; 535 Z_AttributeTypeDetails **attributesByType; 536 }; 537 538 struct Z_AttributeTypeDetails { 539 Odr_int *attributeType; 540 Z_OmittedAttributeInterpretation *defaultIfOmitted; /* OPT */ 541 int num_attributeValues; 542 Z_AttributeValue **attributeValues; /* OPT */ 543 }; 544 545 struct Z_OmittedAttributeInterpretation { 546 Z_StringOrNumeric *defaultValue; /* OPT */ 547 Z_HumanString *defaultDescription; /* OPT */ 548 }; 549 550 struct Z_AttributeValue { 551 Z_StringOrNumeric *value; 552 Z_HumanString *description; /* OPT */ 553 int num_subAttributes; 554 Z_StringOrNumeric **subAttributes; /* OPT */ 555 int num_superAttributes; 556 Z_StringOrNumeric **superAttributes; /* OPT */ 557 Odr_null *partialSupport; /* OPT */ 558 }; 559 560 struct Z_EScanInfo { 561 Odr_int *maxStepSize; /* OPT */ 562 Z_HumanString *collatingSequence; /* OPT */ 563 Odr_bool *increasing; /* OPT */ 564 }; 565 566 struct Z_TermListDetails { 567 Z_CommonInfo *commonInfo; /* OPT */ 568 Z_InternationalString *termListName; 569 Z_HumanString *description; /* OPT */ 570 Z_AttributeCombinations *attributes; /* OPT */ 571 Z_EScanInfo *scanInfo; /* OPT */ 572 Odr_int *estNumberTerms; /* OPT */ 573 int num_sampleTerms; 574 Z_Term **sampleTerms; /* OPT */ 575 }; 576 577 struct Z_ElementSetDetails { 578 Z_CommonInfo *commonInfo; /* OPT */ 579 Z_DatabaseName *databaseName; 580 Z_ElementSetName *elementSetName; 581 Odr_oid *recordSyntax; 582 Odr_oid *schema; 583 Z_HumanString *description; /* OPT */ 584 int num_detailsPerElement; 585 Z_PerElementDetails **detailsPerElement; /* OPT */ 586 }; 587 588 struct Z_RetrievalRecordDetails { 589 Z_CommonInfo *commonInfo; /* OPT */ 590 Z_DatabaseName *databaseName; 591 Odr_oid *schema; 592 Odr_oid *recordSyntax; 593 Z_HumanString *description; /* OPT */ 594 int num_detailsPerElement; 595 Z_PerElementDetails **detailsPerElement; /* OPT */ 596 }; 597 598 struct Z_PerElementDetails { 599 Z_InternationalString *name; /* OPT */ 600 Z_RecordTag *recordTag; /* OPT */ 601 int num_schemaTags; 602 Z_Path **schemaTags; /* OPT */ 603 Odr_int *maxSize; /* OPT */ 604 Odr_int *minSize; /* OPT */ 605 Odr_int *avgSize; /* OPT */ 606 Odr_int *fixedSize; /* OPT */ 607 Odr_bool *repeatable; 608 Odr_bool *required; 609 Z_HumanString *description; /* OPT */ 610 Z_HumanString *contents; /* OPT */ 611 Z_HumanString *billingInfo; /* OPT */ 612 Z_HumanString *restrictions; /* OPT */ 613 int num_alternateNames; 614 Z_InternationalString **alternateNames; /* OPT */ 615 int num_genericNames; 616 Z_InternationalString **genericNames; /* OPT */ 617 Z_AttributeCombinations *searchAccess; /* OPT */ 618 }; 619 620 struct Z_RecordTag { 621 Z_StringOrNumeric *qualifier; /* OPT */ 622 Z_StringOrNumeric *tagValue; 623 }; 624 625 struct Z_SortDetails { 626 Z_CommonInfo *commonInfo; /* OPT */ 627 Z_DatabaseName *databaseName; 628 int num_sortKeys; 629 Z_SortKeyDetails **sortKeys; /* OPT */ 630 }; 631 632 struct Z_SortKeyDetails { 633 Z_HumanString *description; /* OPT */ 634 int num_elementSpecifications; 635 Z_Specification **elementSpecifications; /* OPT */ 636 Z_AttributeCombinations *attributeSpecifications; /* OPT */ 637 int which; 638 union { 639 Odr_null *character; 640 Odr_null *numeric; 641 Z_HumanString *structured; 642 #define Z_SortKeyDetails_character 1 643 #define Z_SortKeyDetails_numeric 2 644 #define Z_SortKeyDetails_structured 3 645 } u; /* OPT */ 646 #define Z_SortKeyDetails_always 0 647 #define Z_SortKeyDetails_never 1 648 #define Z_SortKeyDetails_default_yes 2 649 #define Z_SortKeyDetails_default_no 3 650 Odr_int *caseSensitivity; /* OPT */ 651 }; 652 653 struct Z_ProcessingInformation { 654 Z_CommonInfo *commonInfo; /* OPT */ 655 Z_DatabaseName *databaseName; 656 #define Z_ProcessingInformation_access 0 657 #define Z_ProcessingInformation_search 1 658 #define Z_ProcessingInformation_retrieval 2 659 #define Z_ProcessingInformation_record_presentation 3 660 #define Z_ProcessingInformation_record_handling 4 661 Odr_int *processingContext; 662 Z_InternationalString *name; 663 Odr_oid *oid; 664 Z_HumanString *description; /* OPT */ 665 Z_External *instructions; /* OPT */ 666 }; 667 668 struct Z_VariantSetInfo { 669 Z_CommonInfo *commonInfo; /* OPT */ 670 Odr_oid *variantSet; 671 Z_InternationalString *name; 672 int num_variants; 673 Z_VariantClass **variants; /* OPT */ 674 }; 675 676 struct Z_VariantClass { 677 Z_InternationalString *name; /* OPT */ 678 Z_HumanString *description; /* OPT */ 679 Odr_int *variantClass; 680 int num_variantTypes; 681 Z_VariantType **variantTypes; 682 }; 683 684 struct Z_VariantType { 685 Z_InternationalString *name; /* OPT */ 686 Z_HumanString *description; /* OPT */ 687 Odr_int *variantType; 688 Z_VariantValue *variantValue; /* OPT */ 689 }; 690 691 struct Z_VariantValue { 692 Z_PrimitiveDataType *dataType; 693 Z_ValueSet *values; /* OPT */ 694 }; 695 696 struct Z_ValueSetEnumerated { 697 int num; 698 Z_ValueDescription **elements; 699 }; 700 701 struct Z_ValueSet { 702 int which; 703 union { 704 Z_ValueRange *range; 705 Z_ValueSetEnumerated *enumerated; 706 #define Z_ValueSet_range 1 707 #define Z_ValueSet_enumerated 2 708 } u; 709 }; 710 711 struct Z_ValueRange { 712 Z_ValueDescription *lower; /* OPT */ 713 Z_ValueDescription *upper; /* OPT */ 714 }; 715 716 struct Z_ValueDescription { 717 int which; 718 union { 719 Odr_int *integer; 720 Z_InternationalString *string; 721 Odr_oct *octets; 722 Odr_oid *oid; 723 Z_Unit *unit; 724 Z_IntUnit *valueAndUnit; 725 #define Z_ValueDescription_integer 1 726 #define Z_ValueDescription_string 2 727 #define Z_ValueDescription_octets 3 728 #define Z_ValueDescription_oid 4 729 #define Z_ValueDescription_unit 5 730 #define Z_ValueDescription_valueAndUnit 6 731 } u; 732 }; 733 734 struct Z_UnitInfo { 735 Z_CommonInfo *commonInfo; /* OPT */ 736 Z_InternationalString *unitSystem; 737 Z_HumanString *description; /* OPT */ 738 int num_units; 739 Z_UnitType **units; /* OPT */ 740 }; 741 742 struct Z_UnitType { 743 Z_InternationalString *name; /* OPT */ 744 Z_HumanString *description; /* OPT */ 745 Z_StringOrNumeric *unitType; 746 int num_units; 747 Z_Units **units; 748 }; 749 750 struct Z_Units { 751 Z_InternationalString *name; /* OPT */ 752 Z_HumanString *description; /* OPT */ 753 Z_StringOrNumeric *unit; 754 }; 755 756 struct Z_CategoryList { 757 Z_CommonInfo *commonInfo; /* OPT */ 758 int num_categories; 759 Z_CategoryInfo **categories; 760 }; 761 762 struct Z_CategoryInfo { 763 Z_InternationalString *category; 764 Z_InternationalString *originalCategory; /* OPT */ 765 Z_HumanString *description; /* OPT */ 766 Z_InternationalString *asn1Module; /* OPT */ 767 }; 768 769 struct Z_CommonInfo { 770 char *dateAdded; /* OPT */ 771 char *dateChanged; /* OPT */ 772 char *expiry; /* OPT */ 773 Z_LanguageCode *humanStringLanguage; /* OPT */ 774 Z_OtherInformation *otherInfo; /* OPT */ 775 }; 776 777 struct Z_HumanStringUnit { 778 Z_LanguageCode *language; /* OPT */ 779 Z_InternationalString *text; 780 }; 781 782 struct Z_HumanString { 783 int num_strings; 784 Z_HumanStringUnit **strings; 785 }; 786 787 struct Z_IconObjectUnit { 788 int which; 789 union { 790 Z_InternationalString *ianaType; 791 Z_InternationalString *z3950type; 792 Z_InternationalString *otherType; 793 #define Z_IconObjectUnit_ianaType 1 794 #define Z_IconObjectUnit_z3950type 2 795 #define Z_IconObjectUnit_otherType 3 796 } u; 797 Odr_oct *content; 798 }; 799 800 struct Z_IconObject { 801 int num; 802 Z_IconObjectUnit **elements; 803 }; 804 805 806 807 struct Z_ContactInfo { 808 Z_InternationalString *name; /* OPT */ 809 Z_HumanString *description; /* OPT */ 810 Z_HumanString *address; /* OPT */ 811 Z_InternationalString *email; /* OPT */ 812 Z_InternationalString *phone; /* OPT */ 813 }; 814 815 struct Z_NetworkAddressIA { 816 Z_InternationalString *hostAddress; 817 Odr_int *port; 818 }; 819 820 struct Z_NetworkAddressOPA { 821 Z_InternationalString *pSel; 822 Z_InternationalString *sSel; /* OPT */ 823 Z_InternationalString *tSel; /* OPT */ 824 Z_InternationalString *nSap; 825 }; 826 827 struct Z_NetworkAddressOther { 828 Z_InternationalString *type; 829 Z_InternationalString *address; 830 }; 831 832 struct Z_NetworkAddress { 833 int which; 834 union { 835 Z_NetworkAddressIA *internetAddress; 836 Z_NetworkAddressOPA *osiPresentationAddress; 837 Z_NetworkAddressOther *other; 838 #define Z_NetworkAddress_iA 1 839 #define Z_NetworkAddress_oPA 2 840 #define Z_NetworkAddress_other 3 841 } u; 842 }; 843 844 struct Z_AccessInfo { 845 int num_queryTypesSupported; 846 Z_QueryTypeDetails **queryTypesSupported; /* OPT */ 847 int num_diagnosticsSets; 848 Odr_oid **diagnosticsSets; /* OPT */ 849 int num_attributeSetIds; 850 Z_AttributeSetId **attributeSetIds; /* OPT */ 851 int num_schemas; 852 Odr_oid **schemas; /* OPT */ 853 int num_recordSyntaxes; 854 Odr_oid **recordSyntaxes; /* OPT */ 855 int num_resourceChallenges; 856 Odr_oid **resourceChallenges; /* OPT */ 857 Z_AccessRestrictions *restrictedAccess; /* OPT */ 858 Z_Costs *costInfo; /* OPT */ 859 int num_variantSets; 860 Odr_oid **variantSets; /* OPT */ 861 int num_elementSetNames; 862 Z_ElementSetName **elementSetNames; /* OPT */ 863 int num_unitSystems; 864 Z_InternationalString **unitSystems; 865 }; 866 867 struct Z_QueryTypeDetails { 868 int which; 869 union { 870 Z_PrivateCapabilities *zprivate; 871 Z_RpnCapabilities *rpn; 872 Z_Iso8777Capabilities *iso8777; 873 Z_HumanString *z39_58; 874 Z_RpnCapabilities *erpn; 875 Z_HumanString *rankedList; 876 #define Z_QueryTypeDetails_private 1 877 #define Z_QueryTypeDetails_rpn 2 878 #define Z_QueryTypeDetails_iso8777 3 879 #define Z_QueryTypeDetails_z39_58 4 880 #define Z_QueryTypeDetails_erpn 5 881 #define Z_QueryTypeDetails_rankedList 6 882 } u; 883 }; 884 885 struct Z_PrivateCapOperator { 886 Z_InternationalString *roperator; 887 Z_HumanString *description; /* OPT */ 888 }; 889 890 struct Z_PrivateCapabilities { 891 int num_operators; 892 Z_PrivateCapOperator **operators; /* OPT */ 893 int num_searchKeys; 894 Z_SearchKey **searchKeys; /* OPT */ 895 int num_description; 896 Z_HumanString **description; /* OPT */ 897 }; 898 899 struct Z_RpnCapabilities { 900 int num_operators; 901 Odr_int **operators; /* OPT */ 902 Odr_bool *resultSetAsOperandSupported; 903 Odr_bool *restrictionOperandSupported; 904 Z_ProximitySupport *proximity; /* OPT */ 905 }; 906 907 struct Z_Iso8777Capabilities { 908 int num_searchKeys; 909 Z_SearchKey **searchKeys; 910 Z_HumanString *restrictions; /* OPT */ 911 }; 912 913 struct Z_ProxSupportPrivate { 914 Odr_int *unit; 915 Z_HumanString *description; /* OPT */ 916 }; 917 918 struct Z_ProxSupportUnit { 919 int which; 920 union { 921 Odr_int *known; 922 Z_ProxSupportPrivate *zprivate; 923 #define Z_ProxSupportUnit_known 1 924 #define Z_ProxSupportUnit_private 2 925 } u; 926 }; 927 928 struct Z_ProximitySupport { 929 Odr_bool *anySupport; 930 int num_unitsSupported; 931 Z_ProxSupportUnit **unitsSupported; /* OPT */ 932 }; 933 934 struct Z_SearchKey { 935 Z_InternationalString *searchKey; 936 Z_HumanString *description; /* OPT */ 937 }; 938 939 struct Z_AccessRestrictionsUnit { 940 #define Z_AccessRestrictionsUnit_any 0 941 #define Z_AccessRestrictionsUnit_search 1 942 #define Z_AccessRestrictionsUnit_present 2 943 #define Z_AccessRestrictionsUnit_specific_elements 3 944 #define Z_AccessRestrictionsUnit_extended_services 4 945 #define Z_AccessRestrictionsUnit_by_database 5 946 Odr_int *accessType; 947 Z_HumanString *accessText; /* OPT */ 948 int num_accessChallenges; 949 Odr_oid **accessChallenges; /* OPT */ 950 }; 951 952 struct Z_AccessRestrictions { 953 int num; 954 Z_AccessRestrictionsUnit **elements; 955 }; 956 957 struct Z_CostsOtherCharge { 958 Z_HumanString *forWhat; 959 Z_Charge *charge; 960 }; 961 962 struct Z_Costs { 963 Z_Charge *connectCharge; /* OPT */ 964 Z_Charge *connectTime; /* OPT */ 965 Z_Charge *displayCharge; /* OPT */ 966 Z_Charge *searchCharge; /* OPT */ 967 Z_Charge *subscriptCharge; /* OPT */ 968 int num_otherCharges; 969 Z_CostsOtherCharge **otherCharges; /* OPT */ 970 }; 971 972 struct Z_Charge { 973 Z_IntUnit *cost; 974 Z_Unit *perWhat; /* OPT */ 975 Z_HumanString *text; /* OPT */ 976 }; 977 978 struct Z_DatabaseList { 979 int num_databases; 980 Z_DatabaseName **databases; 981 }; 982 983 struct Z_AttributeCombinations { 984 Z_AttributeSetId *defaultAttributeSet; 985 int num_legalCombinations; 986 Z_AttributeCombination **legalCombinations; 987 }; 988 989 struct Z_AttributeCombination { 990 int num_occurrences; 991 Z_AttributeOccurrence **occurrences; 992 }; 993 994 struct Z_AttributeValueList { 995 int num_attributes; 996 Z_StringOrNumeric **attributes; 997 }; 998 999 struct Z_AttributeOccurrence { 1000 Z_AttributeSetId *attributeSet; /* OPT */ 1001 Odr_int *attributeType; 1002 Odr_null *mustBeSupplied; /* OPT */ 1003 int which; 1004 union { 1005 Odr_null *any_or_none; 1006 Z_AttributeValueList *specific; 1007 #define Z_AttributeOcc_any_or_none 1 1008 #define Z_AttributeOcc_specific 2 1009 } attributeValues; 1010 }; 1011 1012 #ifdef __cplusplus 1013 } 1014 #endif 1015 #endif 1016