1 /* Do not modify this file. Changes will be overwritten. */
2 /* Generated automatically by the ASN.1 to Wireshark dissector compiler */
4 /* asn2wrs.py -b -q -L -p z3950 -c ./z3950.cnf -s ./packet-z3950-template -D . -O ../.. z3950.asn z3950-oclc.asn z3950-externals.asn */
7 * Routines for dissection of the NISO Z39.50 Information Retrieval protocol
8 * Also contains a dissector for the MARC Machine Readable Cataloging file
9 * format. The general format is specified by ISO 2709 and the specific
12 * Copyright 2018, Craig Jackson <cejackson51@gmail.com>
14 * Wireshark - Network traffic analyzer
15 * By Gerald Combs <gerald@wireshark.org>
16 * Copyright 1998 Gerald Combs
18 * SPDX-License-Identifier: GPL-2.0-or-later
21 * ISO 2709: https://www.iso.org/standard/41319.html
22 * MARC21: https://www.loc.gov/marc/bibliographic/
23 * Z39.50 Maintenance Agency: https://www.loc.gov/z3950/agency/
24 * Z39.50 2003 standard: https://www.loc.gov/z3950/agency/Z39-50-2003.pdf
25 * Z39.50 1995 ASN.1: https://www.loc.gov/z3950/agency/asn1.html
26 * Registered Z39.50 Object Identifiers:
27 * https://www.loc.gov/z3950/agency/defns/oids.html
28 * Bib-1 Attribute Set: https://www.loc.gov/z3950/agency/defns/bib1.html
29 * Bib-1 Diagnostics: https://www.loc.gov/z3950/agency/defns/bib1diag.html
30 * RFC for Z39.50 over TCP/IP: https://tools.ietf.org/html/rfc1729
36 #include <epan/packet.h>
37 #include <epan/conversation.h>
38 #include <epan/exceptions.h>
39 #include <epan/expert.h>
40 #include <epan/oids.h>
41 #include <epan/proto_data.h>
42 #include <wsutil/str_util.h>
47 #include "packet-ber.h"
48 #include "packet-tcp.h"
50 typedef struct z3950_atinfo_t
{
55 typedef struct z3950_diaginfo_t
{
60 #define PNAME "Z39.50 Protocol"
61 #define PSNAME "Z39.50"
62 #define PFNAME "z3950"
63 #define Z3950_PORT 210 /* UDP port */
65 /* Known attribute set ids */
66 #define Z3950_ATSET_BIB1_OID "1.2.840.10003.3.1"
68 /* Known diagnostic set ids */
69 #define Z3950_DIAGSET_BIB1_OID "1.2.840.10003.4.1"
71 /* Known record syntax ids */
72 #define Z3950_RECORDSYNTAX_MARC21_OID "1.2.840.10003.5.10"
74 /* Indexes of known attribute set ids */
75 #define Z3950_ATSET_UNKNOWN 0
76 #define Z3950_ATSET_BIB1 1
78 /* bib-1 Attribute Types */
79 #define Z3950_BIB1_AT_USE 1
80 #define Z3950_BIB1_AT_RELATION 2
81 #define Z3950_BIB1_AT_POSITION 3
82 #define Z3950_BIB1_AT_STRUCTURE 4
83 #define Z3950_BIB1_AT_TRUNCATION 5
84 #define Z3950_BIB1_AT_COMPLETENESS 6
86 /* Indexes of known diagnostic set ids */
87 #define Z3950_DIAGSET_UNKNOWN 0
88 #define Z3950_DIAGSET_BIB1 1
90 /* Per-packet data keys */
91 #define Z3950_ATINFO_KEY 1
92 #define Z3950_DIAGSET_KEY 2
95 #define MARC_SUBFIELD_INDICATOR '\x1f'
96 #define MARC_LEADER_LENGTH 24
97 #define MARC_CHAR_UNINITIALIZED 256
99 #define marc_isdigit(x) (((x) >='0') && ((x) <= '9'))
100 #define marc_char_to_int(x) ((x) - '0')
102 typedef struct marc_directory_entry
{
105 uint32_t starting_character
;
106 } marc_directory_entry
;
108 static dissector_handle_t z3950_handle
;
110 void proto_reg_handoff_z3950(void);
111 void proto_register_z3950(void);
113 /* Initialize the protocol and registered fields */
114 static int proto_z3950
;
115 static int global_z3950_port
= Z3950_PORT
;
116 static bool z3950_desegment
= true;
118 static const value_string z3950_bib1_att_types
[] = {
119 { Z3950_BIB1_AT_USE
, "Use" },
120 { Z3950_BIB1_AT_RELATION
, "Relation" },
121 { Z3950_BIB1_AT_POSITION
, "Position" },
122 { Z3950_BIB1_AT_STRUCTURE
, "Structure" },
123 { Z3950_BIB1_AT_TRUNCATION
, "Truncation" },
124 { Z3950_BIB1_AT_COMPLETENESS
, "Completeness"},
128 static const value_string z3950_bib1_at_use
[] = {
129 { 1, "Personal name" },
130 { 2, "Corporate name" },
131 { 3, "Conference name" },
133 { 5, "Title series" },
134 { 6, "Title uniform" },
137 { 9, "LC card number" },
138 { 10, "BNB card number" },
139 { 11, "BGF card number" },
140 { 12, "Local number" },
141 { 13, "Dewey classification" },
142 { 14, "UDC classification" },
143 { 15, "Bliss classification" },
144 { 16, "LC call number" },
145 { 17, "NLM call number" },
146 { 18, "NAL call number" },
147 { 19, "MOS call number" },
148 { 20, "Local classification" },
149 { 21, "Subject heading" },
150 { 22, "Subject Rameau" },
151 { 23, "BDI index subject" },
152 { 24, "INSPEC subject" },
153 { 25, "MESH subject" },
154 { 26, "PA subject" },
155 { 27, "LC subject heading" },
156 { 28, "RVM subject heading" },
157 { 29, "Local subject index" },
159 { 31, "Date of publication" },
160 { 32, "Date of acquisition" },
162 { 34, "Title collective" },
163 { 35, "Title parallel" },
164 { 36, "Title cover" },
165 { 37, "Title added title pagw" },
166 { 38, "Title caption" },
167 { 39, "Title running" },
168 { 40, "Title spine" },
169 { 41, "Title other variant" },
170 { 42, "Title former" },
171 { 43, "Title abbreviated" },
172 { 44, "Title expanded" },
173 { 45, "Subject precis" },
174 { 46, "Subject rswk" },
175 { 47, "Subject subdivision" },
176 { 48, "No. nat'l biblio." },
177 { 49, "No. legal deposit" },
178 { 50, "No. govt pub." },
179 { 51, "No. music publisher" },
181 { 53, "Number local call" },
182 { 54, "Code-language" },
183 { 55, "Code-geographic area" },
184 { 56, "Code-institution" },
185 { 57, "Name and title *" },
186 { 58, "Name geographic" },
187 { 59, "Place publication" },
189 { 61, "Microform generation" },
192 { 1000, "Author-title" },
193 { 1001, "Record type" },
196 { 1004, "Author-name personal" },
197 { 1005, "Author-name corporate" },
198 { 1006, "Author-name conference" },
199 { 1007, "Identifier-standard" },
200 { 1008, "Subject-LC children's" },
201 { 1009, "Subject name-personal" },
202 { 1010, "Body of text" },
203 { 1011, "Date/time added to db" },
204 { 1012, "Date/time last modified" },
205 { 1013, "Authority/format id" },
206 { 1014, "Concept-text" },
207 { 1015, "Concept-reference" },
209 { 1017, "Server-choice" },
210 { 1018, "Publisher" },
211 { 1019, "Record-source" },
213 { 1021, "Bib-level" },
214 { 1022, "Geographic class" },
215 { 1023, "Indexed-by" },
216 { 1024, "Map-scale" },
217 { 1025, "Music-key" },
218 { 1026, "Related-periodical" },
219 { 1027, "Report-number" },
220 { 1028, "Stock-number" },
221 { 1030, "Thematic-number" },
222 { 1031, "Material-type" },
224 { 1033, "Host-item" },
225 { 1034, "Content-type" },
226 { 1035, "Anywhere" },
227 { 1036, "Author-Title-Subject" },
228 { 1037, "Serial Item and Contribution Identifier (SICI)" },
229 { 1038, "Abstract-language" },
230 { 1039, "Application-kind" },
231 { 1040, "Classification" },
232 { 1041, "Classification-basic" },
233 { 1042, "Classification-local-record" },
235 { 1044, "Possessing-institution" },
236 { 1045, "Record-linking" },
237 { 1046, "Record-status" },
238 { 1047, "Treatment" },
239 { 1048, "Control-number-GKD" },
240 { 1049, "Control-number-linking" },
241 { 1050, "Control-number-PND" },
242 { 1051, "Control-number-SWD" },
243 { 1052, "Control-number-ZDB" },
244 { 1053, "Country-publication" },
245 { 1054, "Date-conference" },
246 { 1055, "Date-record-status" },
247 { 1056, "Dissertation-information" },
248 { 1057, "Meeting-organizer" },
249 { 1058, "Note-availability" },
250 { 1059, "Number-CAS-registry" },
251 { 1060, "Number-document" },
252 { 1061, "Number-local-accounting" },
253 { 1062, "Number-local-acquisition" },
254 { 1063, "Number-local-call-copy-specific" },
255 { 1064, "Number-of-reference" },
256 { 1065, "Number-norm" },
257 { 1066, "Number-volume" },
258 { 1067, "Place-conference (meeting location)" },
259 { 1068, "Reference (references and footnotes)" },
260 { 1069, "Referenced-journal" },
261 { 1070, "Section-code" },
262 { 1071, "Section-heading" },
263 { 1072, "Subject-GOO" },
264 { 1073, "Subject-name-conference" },
265 { 1074, "Subject-name-corporate" },
266 { 1075, "Subject-genre/form" },
267 { 1076, "Subject-name-geographical" },
268 { 1077, "Subject-chronological" },
269 { 1078, "Subject-title" },
270 { 1079, "Subject-topical" },
271 { 1080, "Subject-uncontrolled" },
272 { 1081, "Terminology-chemical" },
273 { 1082, "Title-translated" },
274 { 1083, "Year-of-beginning" },
275 { 1084, "Year-of-ending" },
276 { 1085, "Subject-AGROVOC" },
277 { 1086, "Subject-COMPASS" },
278 { 1087, "Subject-EPT" },
279 { 1088, "Subject-NAL" },
280 { 1089, "Classification-BCM" },
281 { 1090, "Classification-DB" },
282 { 1091, "Identifier-ISRC" },
283 { 1092, "Identifier-ISMN" },
284 { 1093, "Identifier-ISRN" },
285 { 1094, "Identifier-DOI" },
286 { 1095, "Code-language-original" },
287 { 1096, "Title-later" },
288 { 1097, "DC-Title" },
289 { 1098, "DC-Creator" },
290 { 1099, "DC-Subject" },
291 { 1100, "DC-Description" },
292 { 1101, "DC-Publisher" },
294 { 1103, "DC-ResourceType" },
295 { 1104, "DC-ResourceIdentifier" },
296 { 1105, "DC-Language" },
297 { 1106, "DC-OtherContributor" },
298 { 1107, "DC-Format" },
299 { 1108, "DC-Source" },
300 { 1109, "DC-Relation" },
301 { 1110, "DC-Coverage" },
302 { 1111, "DC-RightsManagement" },
303 { 1112, "GILS Controlled Subject Index" },
304 { 1113, "GILS Subject Thesaurus" },
305 { 1114, "GILS Index Terms -- Controlled" },
306 { 1115, "GILS Controlled Term" },
307 { 1116, "GILS Spacial Domain" },
308 { 1117, "GILS Bounding Coordinates" },
309 { 1118, "GILS West Bounding Coordinate" },
310 { 1119, "GILS East Bounding Coordinate" },
311 { 1120, "GILS North Bounding Coordinate" },
312 { 1121, "GILS South Bounding Coordinate" },
313 { 1122, "GILS Place" },
314 { 1123, "GILS Place Keyword Thesaurus" },
315 { 1124, "GILS Place Keyword" },
316 { 1125, "GILS Time Period" },
317 { 1126, "GILS Time Period Textual" },
318 { 1127, "GILS Time Period Structured" },
319 { 1128, "GILS Beginning Date" },
320 { 1129, "GILS Ending Date" },
321 { 1130, "GILS Availability" },
322 { 1131, "GILS Distributor" },
323 { 1132, "GILS Distributor Name" },
324 { 1133, "GILS Distributor Organization" },
325 { 1134, "GILS Distributor Street Address" },
326 { 1135, "GILS Distributor City" },
327 { 1136, "GILS Distributor State or Province" },
328 { 1137, "GILS Distributor Zip or Postal Code" },
329 { 1138, "GILS Distributor Country" },
330 { 1139, "GILS Distributor Network Address" },
331 { 1140, "GILS Distributor Hours of Service" },
332 { 1141, "GILS Distributor Telephone" },
333 { 1142, "GILS Distributor Fax" },
334 { 1143, "GILS Resource Description" },
335 { 1144, "GILS Order Process" },
336 { 1145, "GILS Order Information" },
337 { 1146, "GILS Cost" },
338 { 1147, "GILS Cost Information" },
339 { 1148, "GILS Technical Prerequisites" },
340 { 1149, "GILS Available Time Period" },
341 { 1150, "GILS Available Time Textual" },
342 { 1151, "GILS Available Time Structured" },
343 { 1152, "GILS Available Linkage" },
344 { 1153, "GILS Linkage Type" },
345 { 1154, "GILS Linkage" },
346 { 1155, "GILS Sources of Data" },
347 { 1156, "GILS Methodology" },
348 { 1157, "GILS Access Constraints" },
349 { 1158, "GILS General Access Constraints" },
350 { 1159, "GILS Originator Dissemination Control" },
351 { 1160, "GILS Security Classification Control" },
352 { 1161, "GILS Use Constraints" },
353 { 1162, "GILS Point of Contact" },
354 { 1163, "GILS Contact Name" },
355 { 1164, "GILS Contact Organization" },
356 { 1165, "GILS Contact Street Address" },
357 { 1166, "GILS Contact City" },
358 { 1167, "GILS Contact State or Province" },
359 { 1168, "GILS Contact Zip or Postal Code" },
360 { 1169, "GILS Contact Country" },
361 { 1170, "GILS Contact Network Address" },
362 { 1171, "GILS Contact Hours of Service" },
363 { 1172, "GILS Contact Telephone" },
364 { 1173, "GILS Contact Fax" },
365 { 1174, "GILS Supplemental Information" },
366 { 1175, "GILS Purpose" },
367 { 1176, "GILS Agency Program" },
368 { 1177, "GILS Cross Reference" },
369 { 1178, "GILS Cross Reference Title" },
370 { 1179, "GILS Cross Reference Relationship" },
371 { 1180, "GILS Cross Reference Linkage" },
372 { 1181, "GILS Schedule Number" },
373 { 1182, "GILS Original Control Identifier" },
374 { 1183, "GILS Language of Record" },
375 { 1184, "GILS Record Review Date" },
376 { 1185, "Performer" },
377 { 1186, "Performer-Individual" },
378 { 1187, "Performer-Group" },
379 { 1188, "Instrumentation" },
380 { 1189, "Instrumentation-Original" },
381 { 1190, "Instrumentation-Current" },
382 { 1191, "Arrangement" },
383 { 1192, "Arrangement-Original" },
384 { 1193, "Arrangement-Current" },
385 { 1194, "Musical Key-Original" },
386 { 1195, "Musical Key-Current" },
387 { 1196, "Date-Composition" },
388 { 1197, "Date-Recording" },
389 { 1198, "Place-Recording" },
390 { 1199, "Country-Recording" },
391 { 1200, "Number-ISWC" },
392 { 1201, "Number-Matrix" },
393 { 1202, "Number-Plate" },
394 { 1203, "Classification-McColvin" },
395 { 1204, "Duration" },
396 { 1205, "Number-Copies" },
397 { 1206, "Musical Theme" },
398 { 1207, "Instruments - total number" },
399 { 1208, "Instruments - distinct number" },
400 { 1209, "Identifier - URN" },
401 { 1210, "Sears Subject Heading" },
402 { 1211, "OCLC Number" },
403 { 1212, "NORZIG Composition" },
404 { 1213, "NORZIG Intellectual level" },
405 { 1214, "NORZIG EAN" },
406 { 1215, "NORZIG NLC" },
407 { 1216, "NORZIG CRCS" },
408 { 1217, "NORZIG Nationality" },
409 { 1218, "NORZIG Equinox" },
410 { 1219, "NORZIG Compression" },
411 { 1220, "NORZIG Format" },
412 { 1221, "NORZIG Subject - occupation" },
413 { 1222, "NORZIG Subject - function" },
414 { 1223, "NORZIG Edition" },
415 { 1224, "GPO Item Number" },
416 { 1225, "Provider" },
420 static const value_string z3950_bib1_at_relation
[] = {
422 { 2, "Less than or equal" },
424 { 4, "Greater than or equal" },
425 { 5, "Greater than" },
429 { 102, "Relevance" },
430 { 103, "Always Matches" },
434 static const value_string z3950_bib1_at_position
[] = {
435 { 1, "First in field" },
436 { 2, "First in subfield" },
437 { 3, "Any position in field" },
441 static const value_string z3950_bib1_at_structure
[] = {
446 { 5, "Date (normalized)" },
448 { 100, "Date (un-normalized)" },
449 { 101, "Name (normalized)" },
450 { 102, "Name (un-normalized)" },
451 { 103, "Structure" },
453 { 105, "Free-form-text" },
454 { 106, "Document-text" },
461 static const value_string z3950_bib1_at_truncation
[] = {
462 { 1, "Right truncation" },
463 { 2, "Left truncation" },
464 { 3, "Left and right truncation" },
465 { 100, "Do not truncate" },
466 { 101, "Process # in search term" },
467 { 102, "regExpr-1" },
468 { 103, "regExpr-2" },
469 { 104, "Z39.58-1992 Character masking" },
473 static const value_string z3950_bib1_at_completeness
[] = {
474 { 1, "Incomplete subfield" },
475 { 2, "Complete subfield" },
476 { 3, "Complete field" },
480 static const value_string z3950_bib1_diagconditions
[] = {
481 { 1, "Permanent system error" },
482 { 2, "Temporary system error" },
483 { 3, "Unsupported search" },
484 { 4, "Terms only exclusion (stop) words" },
485 { 5, "Too many argument words" },
486 { 6, "Too many boolean operators" },
487 { 7, "Too many truncated words" },
488 { 8, "Too many incomplete subfields" },
489 { 9, "Truncated words too short" },
490 { 10, "Invalid format for record number (search term)" },
491 { 11, "Too many characters in search statement" },
492 { 12, "Too many records retrieved" },
493 { 13, "Present request out of range" },
494 { 14, "System error in presenting records" },
495 { 15, "Record no authorized to be sent intersystem" },
496 { 16, "Record exceeds Preferred-message-size" },
497 { 17, "Record exceeds Maximum-record-size" },
498 { 18, "Result set not supported as a search term" },
499 { 19, "Only single result set as search term supported" },
500 { 20, "Only ANDing of a single result set as search term supported" },
501 { 21, "Result set exists and replace indicator off" },
502 { 22, "Result set naming not supported" },
503 { 23, "Combination of specified databases not supported" },
504 { 24, "Element set names not supported" },
505 { 25, "Specified element set name not valid for specified database" },
506 { 26, "Only a single element set name supported" },
507 { 27, "Result set no longer exists - unilaterally deleted by target" },
508 { 28, "Result set is in use" },
509 { 29, "One of the specified databases is locked" },
510 { 30, "Specified result set does not exist" },
511 { 31, "Resources exhausted - no results available" },
512 { 32, "Resources exhausted - unpredictable partial results available" },
513 { 33, "Resources exhausted - valid subset of results available" },
514 { 100, "Unspecified error" },
515 { 101, "Access-control failure" },
516 { 102, "Security challenge required but could not be issued - request terminated" },
517 { 103, "Security challenge required but could not be issued - record not included" },
518 { 104, "Security challenge failed - record not included" },
519 { 105, "Terminated by negative continue response" },
520 { 106, "No abstract syntaxes agreed to for this record" },
521 { 107, "Query type not supported" },
522 { 108, "Malformed query" },
523 { 109, "Database unavailable" },
524 { 110, "Operator unsupported" },
525 { 111, "Too many databases specified" },
526 { 112, "Too many result sets created" },
527 { 113, "Unsupported attribute type" },
528 { 114, "Unsupported Use attribute" },
529 { 115, "Unsupported value for Use attribute" },
530 { 116, "Use attribute required but not supplied" },
531 { 117, "Unsupported Relation attribute" },
532 { 118, "Unsupported Structure attribute" },
533 { 119, "Unsupported Position attribute" },
534 { 120, "Unsupported Truncation attribute" },
535 { 121, "Unsupported Attribute Set" },
536 { 122, "Unsupported Completeness attribute" },
537 { 123, "Unsupported attribute combination" },
538 { 124, "Unsupported coded value for term" },
539 { 125, "Malformed search term" },
540 { 126, "Illegal term value for attribute" },
541 { 127, "Unparsable format for un-normalized value" },
542 { 128, "Illegal result set name" },
543 { 129, "Proximity search of sets not supported" },
544 { 130, "Illegal result set in proximity search" },
545 { 131, "Unsupported proximity relation" },
546 { 132, "Unsupported proximity unit code" },
547 { 201, "Proximity not supported with this attribute combination" },
548 { 202, "Unsupported distance for proximity" },
549 { 203, "Ordered flag not supported for proximity" },
550 { 205, "Only zero step size supported for Scan" },
551 { 206, "Specified step size not supported for Scan" },
552 { 207, "Cannot sort according to sequence" },
553 { 208, "No result set name supplied on Sort" },
554 { 209, "Generic sort not supported (database-specific sort only supported)" },
555 { 210, "Database specific sort not supported" },
556 { 211, "Too many sort keys" },
557 { 212, "Duplicate sort keys" },
558 { 213, "Unsupported missing data action" },
559 { 214, "Illegal sort relation" },
560 { 215, "Illegal case value" },
561 { 216, "Illegal missing data action" },
562 { 217, "Segmentation: Cannot guarantee records will fit in specified segments" },
563 { 218, "ES: Package name already in use" },
564 { 219, "ES: no such package, on modify/delete" },
565 { 220, "ES: quota exceeded" },
566 { 221, "ES: extended service type not supported" },
567 { 222, "ES: permission denied on ES - id not authorized" },
568 { 223, "ES: permission denied on ES - cannot modify or delete" },
569 { 224, "ES: immediate execution failed" },
570 { 225, "ES: immediate execution not supported for this service" },
571 { 226, "ES: immediate execution not supported for these parameters" },
572 { 227, "No data available in requested record syntax" },
573 { 228, "Scan: malformed scan" },
574 { 229, "Term type not supported" },
575 { 230, "Sort: too many input results" },
576 { 231, "Sort: incompatible record formats" },
577 { 232, "Scan: term list not supported" },
578 { 233, "Scan: unsupported value of position-in-response" },
579 { 234, "Too many index terms processed" },
580 { 235, "Database does not exist" },
581 { 236, "Access to specified database denied" },
582 { 237, "Sort: illegal sort" },
583 { 238, "Record not available in requested syntax" },
584 { 239, "Record syntax not supported" },
585 { 240, "Scan: Resources exhausted looking for satisfying terms" },
586 { 241, "Scan: Beginning or end of term list" },
587 { 242, "Segmentation: max-segment-size too small to segment record" },
588 { 243, "Present: additional-ranges parameter not supported" },
589 { 244, "Present: comp-spec parameter not supported" },
590 { 245, "Type-1 query: restriction ('resultAttr') operand not supported" },
591 { 246, "Type-1 query: 'complex' attributeValue not supported" },
592 { 247, "Type-1 query: 'attributeSet' as part of AttributeElement not supported" },
593 { 1001, "Malformed APDU" },
594 { 1002, "ES: EXTERNAL form of Item Order request not supported" },
595 { 1003, "ES: Result set item form of Item Order request not supported" },
596 { 1004, "ES: Extended services not supported unless access control is in effect" },
597 { 1005, "Response records in Search response not supported" },
598 { 1006, "Response records in Search response not possible for specified database (or database combination)" },
599 { 1007, "No Explain server. Addinfo: pointers to servers that have a surrogate Explain database for this server" },
600 { 1008, "ES: missing mandatory parameter for specified function. Addinfo: parameter" },
601 { 1009, "ES: Item Order, unsupported OID in itemRequest. Addinfo: OID" },
602 { 1010, "Init/AC: Bad Userid" },
603 { 1011, "Init/AC: Bad Userid and/or Password" },
604 { 1012, "Init/AC: No searches remaining (pre-purchased searches exhausted)" },
605 { 1013, "Init/AC: Incorrect interface type (specified id valid only when used with a particular access method or client)" },
606 { 1014, "Init/AC: Authentication System error" },
607 { 1015, "Init/AC: Maximum number of simultaneous sessions for Userid" },
608 { 1016, "Init/AC: Blocked network address" },
609 { 1017, "Init/AC: No databases available for specified userId" },
610 { 1018, "Init/AC: System temporarily out of resources" },
611 { 1019, "Init/AC: System not available due to maintenance" },
612 { 1020, "Init/AC: System temporarily unavailable (Addinfo: when it's expected back up)" },
613 { 1021, "Init/AC: Account has expired" },
614 { 1022, "Init/AC: Password has expired so a new one must be supplied" },
615 { 1023, "Init/AC: Password has been changed by an administrator so a new one must be supplied" },
616 { 1024, "Unsupported Attribute" },
617 { 1025, "Service not supported for this database" },
618 { 1026, "Record cannot be opened because it is locked" },
619 { 1027, "SQL error" },
620 { 1028, "Record deleted" },
621 { 1029, "Scan: too many terms requested. Addinfo: max terms supported" },
622 { 1040, "ES: Invalid function" },
623 { 1041, "ES: Error in retention time" },
624 { 1042, "ES: Permissions data not understood" },
625 { 1043, "ES: Invalid OID for task specific parameters" },
626 { 1044, "ES: Invalid action" },
627 { 1045, "ES: Unknown schema" },
628 { 1046, "ES: Too many records in package" },
629 { 1047, "ES: Invalid wait action" },
630 { 1048, "ES: Cannot create task package -- exceeds maximum permissible size" },
631 { 1049, "ES: Cannot return task package -- exceeds maximum permissible size" },
632 { 1050, "ES: Extended services request too large" },
633 { 1051, "Scan: Attribute set id required -- not supplied" },
634 { 1052, "ES: Cannot process task package record -- exceeds maximum permissible record size for ES" },
635 { 1053, "ES: Cannot return task package record -- exceeds maximum permissible record size for ES response" },
636 { 1054, "Init: Required negotiation record not included" },
637 { 1055, "Init: negotiation option required" },
638 { 1056, "Attribute not supported for database" },
639 { 1057, "ES: Unsupported value of task package parameter" },
640 { 1058, "Duplicate Detection: Cannot dedup on requested record portion" },
641 { 1059, "Duplicate Detection: Requested detection criterion not supported" },
642 { 1060, "Duplicate Detection: Requested level of match not supported" },
643 { 1061, "Duplicate Detection: Requested regular expression not supported" },
644 { 1062, "Duplicate Detection: Cannot do clustering" },
645 { 1063, "Duplicate Detection: Retention criterion not supported" },
646 { 1064, "Duplicate Detection: Requested number (or percentage) of entries for retention too large" },
647 { 1065, "Duplicate Detection: Requested sort criterion not supported" },
648 { 1066, "CompSpec: Unknown schema, or schema not supported." },
649 { 1067, "Encapsulation: Encapsulated sequence of PDUs not supported" },
650 { 1068, "Encapsulation: Base operation (and encapsulated PDUs) not executed based on pre-screening analysis" },
651 { 1069, "No syntaxes available for this request" },
652 { 1070, "User not authorized to receive record(s) in requested syntax" },
653 { 1071, "preferredRecordSyntax not supplied" },
654 { 1072, "Query term includes characters that do not translate into the target character set" },
655 { 1073, "Database records do not contain data associated with access point" },
656 { 1074, "Proxy failure" },
660 static int hf_z3950_OCLC_UserInformation_PDU
; /* OCLC_UserInformation */
661 static int hf_z3950_SutrsRecord_PDU
; /* SutrsRecord */
662 static int hf_z3950_OPACRecord_PDU
; /* OPACRecord */
663 static int hf_z3950_DiagnosticFormat_PDU
; /* DiagnosticFormat */
664 static int hf_z3950_Explain_Record_PDU
; /* Explain_Record */
665 static int hf_z3950_BriefBib_PDU
; /* BriefBib */
666 static int hf_z3950_GenericRecord_PDU
; /* GenericRecord */
667 static int hf_z3950_TaskPackage_PDU
; /* TaskPackage */
668 static int hf_z3950_PromptObject_PDU
; /* PromptObject */
669 static int hf_z3950_DES_RN_Object_PDU
; /* DES_RN_Object */
670 static int hf_z3950_KRBObject_PDU
; /* KRBObject */
671 static int hf_z3950_SearchInfoReport_PDU
; /* SearchInfoReport */
672 static int hf_z3950_initRequest
; /* InitializeRequest */
673 static int hf_z3950_initResponse
; /* InitializeResponse */
674 static int hf_z3950_searchRequest
; /* SearchRequest */
675 static int hf_z3950_searchResponse
; /* SearchResponse */
676 static int hf_z3950_presentRequest
; /* PresentRequest */
677 static int hf_z3950_presentResponse
; /* PresentResponse */
678 static int hf_z3950_deleteResultSetRequest
; /* DeleteResultSetRequest */
679 static int hf_z3950_deleteResultSetResponse
; /* DeleteResultSetResponse */
680 static int hf_z3950_accessControlRequest
; /* AccessControlRequest */
681 static int hf_z3950_accessControlResponse
; /* AccessControlResponse */
682 static int hf_z3950_resourceControlRequest
; /* ResourceControlRequest */
683 static int hf_z3950_resourceControlResponse
; /* ResourceControlResponse */
684 static int hf_z3950_triggerResourceControlRequest
; /* TriggerResourceControlRequest */
685 static int hf_z3950_resourceReportRequest
; /* ResourceReportRequest */
686 static int hf_z3950_resourceReportResponse
; /* ResourceReportResponse */
687 static int hf_z3950_scanRequest
; /* ScanRequest */
688 static int hf_z3950_scanResponse
; /* ScanResponse */
689 static int hf_z3950_sortRequest
; /* SortRequest */
690 static int hf_z3950_sortResponse
; /* SortResponse */
691 static int hf_z3950_segmentRequest
; /* Segment */
692 static int hf_z3950_extendedServicesRequest
; /* ExtendedServicesRequest */
693 static int hf_z3950_extendedServicesResponse
; /* ExtendedServicesResponse */
694 static int hf_z3950_close
; /* Close */
695 static int hf_z3950_referenceId
; /* ReferenceId */
696 static int hf_z3950_protocolVersion
; /* ProtocolVersion */
697 static int hf_z3950_options
; /* Options */
698 static int hf_z3950_preferredMessageSize
; /* INTEGER */
699 static int hf_z3950_exceptionalRecordSize
; /* INTEGER */
700 static int hf_z3950_idAuthentication
; /* T_idAuthentication */
701 static int hf_z3950_open
; /* VisibleString */
702 static int hf_z3950_idPass
; /* T_idPass */
703 static int hf_z3950_groupId
; /* InternationalString */
704 static int hf_z3950_userId
; /* InternationalString */
705 static int hf_z3950_password
; /* InternationalString */
706 static int hf_z3950_anonymous
; /* NULL */
707 static int hf_z3950_other
; /* EXTERNAL */
708 static int hf_z3950_implementationId
; /* InternationalString */
709 static int hf_z3950_implementationName
; /* InternationalString */
710 static int hf_z3950_implementationVersion
; /* InternationalString */
711 static int hf_z3950_userInformationField
; /* EXTERNAL */
712 static int hf_z3950_otherInfo
; /* OtherInformation */
713 static int hf_z3950_result
; /* BOOLEAN */
714 static int hf_z3950_smallSetUpperBound
; /* INTEGER */
715 static int hf_z3950_largeSetLowerBound
; /* INTEGER */
716 static int hf_z3950_mediumSetPresentNumber
; /* INTEGER */
717 static int hf_z3950_replaceIndicator
; /* BOOLEAN */
718 static int hf_z3950_resultSetName
; /* InternationalString */
719 static int hf_z3950_databaseNames
; /* SEQUENCE_OF_DatabaseName */
720 static int hf_z3950_databaseNames_item
; /* DatabaseName */
721 static int hf_z3950_smallSetElementSetNames
; /* ElementSetNames */
722 static int hf_z3950_mediumSetElementSetNames
; /* ElementSetNames */
723 static int hf_z3950_preferredRecordSyntax
; /* OBJECT_IDENTIFIER */
724 static int hf_z3950_query
; /* Query */
725 static int hf_z3950_additionalSearchInfo
; /* OtherInformation */
726 static int hf_z3950_type_0
; /* T_type_0 */
727 static int hf_z3950_type_1
; /* RPNQuery */
728 static int hf_z3950_type_2
; /* OCTET_STRING */
729 static int hf_z3950_type_100
; /* OCTET_STRING */
730 static int hf_z3950_type_101
; /* RPNQuery */
731 static int hf_z3950_type_102
; /* OCTET_STRING */
732 static int hf_z3950_attributeSet
; /* AttributeSetId */
733 static int hf_z3950_rpn
; /* RPNStructure */
734 static int hf_z3950_operandRpnOp
; /* Operand */
735 static int hf_z3950_rpnRpnOp
; /* T_rpnRpnOp */
736 static int hf_z3950_rpn1
; /* RPNStructure */
737 static int hf_z3950_rpn2
; /* RPNStructure */
738 static int hf_z3950_operatorRpnOp
; /* Operator */
739 static int hf_z3950_attrTerm
; /* AttributesPlusTerm */
740 static int hf_z3950_resultSet
; /* ResultSetId */
741 static int hf_z3950_resultAttr
; /* ResultSetPlusAttributes */
742 static int hf_z3950_attributes
; /* AttributeList */
743 static int hf_z3950_term
; /* Term */
744 static int hf_z3950_attributeList_item
; /* AttributeElement */
745 static int hf_z3950_general
; /* T_general */
746 static int hf_z3950_numeric
; /* INTEGER */
747 static int hf_z3950_characterString
; /* InternationalString */
748 static int hf_z3950_oid
; /* OBJECT_IDENTIFIER */
749 static int hf_z3950_dateTime
; /* GeneralizedTime */
750 static int hf_z3950_external
; /* EXTERNAL */
751 static int hf_z3950_integerAndUnit
; /* IntUnit */
752 static int hf_z3950_null
; /* NULL */
753 static int hf_z3950_and
; /* NULL */
754 static int hf_z3950_or
; /* NULL */
755 static int hf_z3950_and_not
; /* NULL */
756 static int hf_z3950_prox
; /* ProximityOperator */
757 static int hf_z3950_attributeElement_attributeType
; /* T_attributeElement_attributeType */
758 static int hf_z3950_attributeValue
; /* T_attributeValue */
759 static int hf_z3950_attributeValue_numeric
; /* T_attributeValue_numeric */
760 static int hf_z3950_attributeValue_complex
; /* T_attributeValue_complex */
761 static int hf_z3950_attributeValue_complex_list
; /* SEQUENCE_OF_StringOrNumeric */
762 static int hf_z3950_attributeValue_complex_list_item
; /* StringOrNumeric */
763 static int hf_z3950_semanticAction
; /* T_semanticAction */
764 static int hf_z3950_semanticAction_item
; /* INTEGER */
765 static int hf_z3950_exclusion
; /* BOOLEAN */
766 static int hf_z3950_distance
; /* INTEGER */
767 static int hf_z3950_ordered
; /* BOOLEAN */
768 static int hf_z3950_relationType
; /* T_relationType */
769 static int hf_z3950_proximityUnitCode
; /* T_proximityUnitCode */
770 static int hf_z3950_known
; /* KnownProximityUnit */
771 static int hf_z3950_private
; /* INTEGER */
772 static int hf_z3950_resultCount
; /* INTEGER */
773 static int hf_z3950_numberOfRecordsReturned
; /* INTEGER */
774 static int hf_z3950_nextResultSetPosition
; /* INTEGER */
775 static int hf_z3950_searchStatus
; /* BOOLEAN */
776 static int hf_z3950_search_resultSetStatus
; /* T_search_resultSetStatus */
777 static int hf_z3950_presentStatus
; /* PresentStatus */
778 static int hf_z3950_records
; /* Records */
779 static int hf_z3950_resultSetId
; /* ResultSetId */
780 static int hf_z3950_resultSetStartPoint
; /* INTEGER */
781 static int hf_z3950_numberOfRecordsRequested
; /* INTEGER */
782 static int hf_z3950_additionalRanges
; /* SEQUENCE_OF_Range */
783 static int hf_z3950_additionalRanges_item
; /* Range */
784 static int hf_z3950_recordComposition
; /* T_recordComposition */
785 static int hf_z3950_simple
; /* ElementSetNames */
786 static int hf_z3950_recordComposition_complex
; /* CompSpec */
787 static int hf_z3950_maxSegmentCount
; /* INTEGER */
788 static int hf_z3950_maxRecordSize
; /* INTEGER */
789 static int hf_z3950_maxSegmentSize
; /* INTEGER */
790 static int hf_z3950_segmentRecords
; /* SEQUENCE_OF_NamePlusRecord */
791 static int hf_z3950_segmentRecords_item
; /* NamePlusRecord */
792 static int hf_z3950_responseRecords
; /* SEQUENCE_OF_NamePlusRecord */
793 static int hf_z3950_responseRecords_item
; /* NamePlusRecord */
794 static int hf_z3950_nonSurrogateDiagnostic
; /* DefaultDiagFormat */
795 static int hf_z3950_multipleNonSurDiagnostics
; /* SEQUENCE_OF_DiagRec */
796 static int hf_z3950_multipleNonSurDiagnostics_item
; /* DiagRec */
797 static int hf_z3950_namePlusRecord_name
; /* DatabaseName */
798 static int hf_z3950_record
; /* T_record */
799 static int hf_z3950_retrievalRecord
; /* EXTERNAL */
800 static int hf_z3950_surrogateDiagnostic
; /* DiagRec */
801 static int hf_z3950_startingFragment
; /* FragmentSyntax */
802 static int hf_z3950_intermediateFragment
; /* FragmentSyntax */
803 static int hf_z3950_finalFragment
; /* FragmentSyntax */
804 static int hf_z3950_externallyTagged
; /* EXTERNAL */
805 static int hf_z3950_notExternallyTagged
; /* OCTET_STRING */
806 static int hf_z3950_defaultFormat
; /* DefaultDiagFormat */
807 static int hf_z3950_externallyDefined
; /* EXTERNAL */
808 static int hf_z3950_diagnosticSetId
; /* T_diagnosticSetId */
809 static int hf_z3950_condition
; /* T_condition */
810 static int hf_z3950_addinfo
; /* T_addinfo */
811 static int hf_z3950_v2Addinfo
; /* VisibleString */
812 static int hf_z3950_v3Addinfo
; /* InternationalString */
813 static int hf_z3950_startingPosition
; /* INTEGER */
814 static int hf_z3950_numberOfRecords
; /* INTEGER */
815 static int hf_z3950_genericElementSetName
; /* InternationalString */
816 static int hf_z3950_databaseSpecific
; /* T_databaseSpecific */
817 static int hf_z3950_databaseSpecific_item
; /* T_databaseSpecific_item */
818 static int hf_z3950_dbName
; /* DatabaseName */
819 static int hf_z3950_esn
; /* ElementSetName */
820 static int hf_z3950_selectAlternativeSyntax
; /* BOOLEAN */
821 static int hf_z3950_compSpec_generic
; /* Specification */
822 static int hf_z3950_dbSpecific
; /* T_dbSpecific */
823 static int hf_z3950_dbSpecific_item
; /* T_dbSpecific_item */
824 static int hf_z3950_db
; /* DatabaseName */
825 static int hf_z3950_spec
; /* Specification */
826 static int hf_z3950_compSpec_recordSyntax
; /* T_compSpec_recordSyntax */
827 static int hf_z3950_compSpec_recordSyntax_item
; /* OBJECT_IDENTIFIER */
828 static int hf_z3950_schema
; /* OBJECT_IDENTIFIER */
829 static int hf_z3950_specification_elementSpec
; /* T_specification_elementSpec */
830 static int hf_z3950_elementSetName
; /* InternationalString */
831 static int hf_z3950_externalEspec
; /* EXTERNAL */
832 static int hf_z3950_deleteFunction
; /* T_deleteFunction */
833 static int hf_z3950_resultSetList
; /* SEQUENCE_OF_ResultSetId */
834 static int hf_z3950_resultSetList_item
; /* ResultSetId */
835 static int hf_z3950_deleteOperationStatus
; /* DeleteSetStatus */
836 static int hf_z3950_deleteListStatuses
; /* ListStatuses */
837 static int hf_z3950_numberNotDeleted
; /* INTEGER */
838 static int hf_z3950_bulkStatuses
; /* ListStatuses */
839 static int hf_z3950_deleteMessage
; /* InternationalString */
840 static int hf_z3950_ListStatuses_item
; /* ListStatuses_item */
841 static int hf_z3950_listStatuses_id
; /* ResultSetId */
842 static int hf_z3950_status
; /* DeleteSetStatus */
843 static int hf_z3950_securityChallenge
; /* T_securityChallenge */
844 static int hf_z3950_simpleForm
; /* OCTET_STRING */
845 static int hf_z3950_securityChallengeResponse
; /* T_securityChallengeResponse */
846 static int hf_z3950_diagnostic
; /* DiagRec */
847 static int hf_z3950_suspendedFlag
; /* BOOLEAN */
848 static int hf_z3950_resourceReport
; /* ResourceReport */
849 static int hf_z3950_partialResultsAvailable
; /* T_partialResultsAvailable */
850 static int hf_z3950_resourceControlRequest_responseRequired
; /* BOOLEAN */
851 static int hf_z3950_triggeredRequestFlag
; /* BOOLEAN */
852 static int hf_z3950_continueFlag
; /* BOOLEAN */
853 static int hf_z3950_resultSetWanted
; /* BOOLEAN */
854 static int hf_z3950_requestedAction
; /* T_requestedAction */
855 static int hf_z3950_prefResourceReportFormat
; /* ResourceReportId */
856 static int hf_z3950_opId
; /* ReferenceId */
857 static int hf_z3950_resourceReportStatus
; /* T_resourceReportStatus */
858 static int hf_z3950_termListAndStartPoint
; /* AttributesPlusTerm */
859 static int hf_z3950_stepSize
; /* INTEGER */
860 static int hf_z3950_numberOfTermsRequested
; /* INTEGER */
861 static int hf_z3950_preferredPositionInResponse
; /* INTEGER */
862 static int hf_z3950_scanStatus
; /* T_scanStatus */
863 static int hf_z3950_numberOfEntriesReturned
; /* INTEGER */
864 static int hf_z3950_positionOfTerm
; /* INTEGER */
865 static int hf_z3950_scanResponse_entries
; /* ListEntries */
866 static int hf_z3950_listEntries_entries
; /* SEQUENCE_OF_Entry */
867 static int hf_z3950_listEntries_entries_item
; /* Entry */
868 static int hf_z3950_nonsurrogateDiagnostics
; /* SEQUENCE_OF_DiagRec */
869 static int hf_z3950_nonsurrogateDiagnostics_item
; /* DiagRec */
870 static int hf_z3950_termInfo
; /* TermInfo */
871 static int hf_z3950_displayTerm
; /* InternationalString */
872 static int hf_z3950_suggestedAttributes
; /* AttributeList */
873 static int hf_z3950_alternativeTerm
; /* SEQUENCE_OF_AttributesPlusTerm */
874 static int hf_z3950_alternativeTerm_item
; /* AttributesPlusTerm */
875 static int hf_z3950_globalOccurrences
; /* INTEGER */
876 static int hf_z3950_byAttributes
; /* OccurrenceByAttributes */
877 static int hf_z3950_otherTermInfo
; /* OtherInformation */
878 static int hf_z3950_OccurrenceByAttributes_item
; /* OccurrenceByAttributes_item */
879 static int hf_z3950_occurrences
; /* T_occurrences */
880 static int hf_z3950_global
; /* INTEGER */
881 static int hf_z3950_byDatabase
; /* T_byDatabase */
882 static int hf_z3950_byDatabase_item
; /* T_byDatabase_item */
883 static int hf_z3950_num
; /* INTEGER */
884 static int hf_z3950_otherDbInfo
; /* OtherInformation */
885 static int hf_z3950_otherOccurInfo
; /* OtherInformation */
886 static int hf_z3950_inputResultSetNames
; /* SEQUENCE_OF_InternationalString */
887 static int hf_z3950_inputResultSetNames_item
; /* InternationalString */
888 static int hf_z3950_sortedResultSetName
; /* InternationalString */
889 static int hf_z3950_sortSequence
; /* SEQUENCE_OF_SortKeySpec */
890 static int hf_z3950_sortSequence_item
; /* SortKeySpec */
891 static int hf_z3950_sortStatus
; /* T_sortStatus */
892 static int hf_z3950_sort_resultSetStatus
; /* T_sort_resultSetStatus */
893 static int hf_z3950_diagnostics
; /* SEQUENCE_OF_DiagRec */
894 static int hf_z3950_diagnostics_item
; /* DiagRec */
895 static int hf_z3950_sortElement
; /* SortElement */
896 static int hf_z3950_sortRelation
; /* T_sortRelation */
897 static int hf_z3950_caseSensitivity
; /* T_caseSensitivity */
898 static int hf_z3950_missingValueAction
; /* T_missingValueAction */
899 static int hf_z3950_abort
; /* NULL */
900 static int hf_z3950_missingValueData
; /* OCTET_STRING */
901 static int hf_z3950_sortElement_generic
; /* SortKey */
902 static int hf_z3950_datbaseSpecific
; /* T_datbaseSpecific */
903 static int hf_z3950_datbaseSpecific_item
; /* T_datbaseSpecific_item */
904 static int hf_z3950_databaseName
; /* DatabaseName */
905 static int hf_z3950_dbSort
; /* SortKey */
906 static int hf_z3950_sortfield
; /* InternationalString */
907 static int hf_z3950_sortKey_elementSpec
; /* Specification */
908 static int hf_z3950_sortAttributes
; /* T_sortAttributes */
909 static int hf_z3950_sortAttributes_id
; /* AttributeSetId */
910 static int hf_z3950_sortAttributes_list
; /* AttributeList */
911 static int hf_z3950_function
; /* T_function */
912 static int hf_z3950_packageType
; /* OBJECT_IDENTIFIER */
913 static int hf_z3950_packageName
; /* InternationalString */
914 static int hf_z3950_retentionTime
; /* IntUnit */
915 static int hf_z3950_permissions
; /* Permissions */
916 static int hf_z3950_extendedServicesRequest_description
; /* InternationalString */
917 static int hf_z3950_taskSpecificParameters
; /* EXTERNAL */
918 static int hf_z3950_waitAction
; /* T_waitAction */
919 static int hf_z3950_elements
; /* ElementSetName */
920 static int hf_z3950_operationStatus
; /* T_operationStatus */
921 static int hf_z3950_taskPackage
; /* EXTERNAL */
922 static int hf_z3950_Permissions_item
; /* Permissions_item */
923 static int hf_z3950_allowableFunctions
; /* T_allowableFunctions */
924 static int hf_z3950_allowableFunctions_item
; /* T_allowableFunctions_item */
925 static int hf_z3950_closeReason
; /* CloseReason */
926 static int hf_z3950_diagnosticInformation
; /* InternationalString */
927 static int hf_z3950_resourceReportFormat
; /* ResourceReportId */
928 static int hf_z3950_otherInformation_item
; /* T__untag_item */
929 static int hf_z3950_category
; /* InfoCategory */
930 static int hf_z3950_information
; /* T_information */
931 static int hf_z3950_characterInfo
; /* InternationalString */
932 static int hf_z3950_binaryInfo
; /* OCTET_STRING */
933 static int hf_z3950_externallyDefinedInfo
; /* EXTERNAL */
934 static int hf_z3950_categoryTypeId
; /* OBJECT_IDENTIFIER */
935 static int hf_z3950_categoryValue
; /* INTEGER */
936 static int hf_z3950_value
; /* INTEGER */
937 static int hf_z3950_unitUsed
; /* Unit */
938 static int hf_z3950_unitSystem
; /* InternationalString */
939 static int hf_z3950_unitType
; /* StringOrNumeric */
940 static int hf_z3950_unit
; /* StringOrNumeric */
941 static int hf_z3950_scaleFactor
; /* INTEGER */
942 static int hf_z3950_string
; /* InternationalString */
943 static int hf_z3950_motd
; /* VisibleString */
944 static int hf_z3950_dblist
; /* SEQUENCE_OF_DBName */
945 static int hf_z3950_dblist_item
; /* DBName */
946 static int hf_z3950_failReason
; /* BOOLEAN */
947 static int hf_z3950_oCLC_UserInformation_text
; /* VisibleString */
948 static int hf_z3950_bibliographicRecord
; /* EXTERNAL */
949 static int hf_z3950_holdingsData
; /* SEQUENCE_OF_HoldingsRecord */
950 static int hf_z3950_holdingsData_item
; /* HoldingsRecord */
951 static int hf_z3950_marcHoldingsRecord
; /* EXTERNAL */
952 static int hf_z3950_holdingsAndCirc
; /* HoldingsAndCircData */
953 static int hf_z3950_typeOfRecord
; /* InternationalString */
954 static int hf_z3950_encodingLevel
; /* InternationalString */
955 static int hf_z3950_format
; /* InternationalString */
956 static int hf_z3950_receiptAcqStatus
; /* InternationalString */
957 static int hf_z3950_generalRetention
; /* InternationalString */
958 static int hf_z3950_completeness
; /* InternationalString */
959 static int hf_z3950_dateOfReport
; /* InternationalString */
960 static int hf_z3950_nucCode
; /* InternationalString */
961 static int hf_z3950_localLocation
; /* InternationalString */
962 static int hf_z3950_shelvingLocation
; /* InternationalString */
963 static int hf_z3950_callNumber
; /* InternationalString */
964 static int hf_z3950_shelvingData
; /* InternationalString */
965 static int hf_z3950_copyNumber
; /* InternationalString */
966 static int hf_z3950_publicNote
; /* InternationalString */
967 static int hf_z3950_reproductionNote
; /* InternationalString */
968 static int hf_z3950_termsUseRepro
; /* InternationalString */
969 static int hf_z3950_enumAndChron
; /* InternationalString */
970 static int hf_z3950_volumes
; /* SEQUENCE_OF_Volume */
971 static int hf_z3950_volumes_item
; /* Volume */
972 static int hf_z3950_circulationData
; /* SEQUENCE_OF_CircRecord */
973 static int hf_z3950_circulationData_item
; /* CircRecord */
974 static int hf_z3950_enumeration
; /* InternationalString */
975 static int hf_z3950_chronology
; /* InternationalString */
976 static int hf_z3950_availableNow
; /* BOOLEAN */
977 static int hf_z3950_availablityDate
; /* InternationalString */
978 static int hf_z3950_availableThru
; /* InternationalString */
979 static int hf_z3950_circRecord_restrictions
; /* InternationalString */
980 static int hf_z3950_itemId
; /* InternationalString */
981 static int hf_z3950_renewable
; /* BOOLEAN */
982 static int hf_z3950_onHold
; /* BOOLEAN */
983 static int hf_z3950_midspine
; /* InternationalString */
984 static int hf_z3950_temporaryLocation
; /* InternationalString */
985 static int hf_z3950_DiagnosticFormat_item
; /* DiagnosticFormat_item */
986 static int hf_z3950_diagnosticFormat_item_diagnostic
; /* T_diagnosticFormat_item_diagnostic */
987 static int hf_z3950_defaultDiagRec
; /* DefaultDiagFormat */
988 static int hf_z3950_explicitDiagnostic
; /* DiagFormat */
989 static int hf_z3950_message
; /* InternationalString */
990 static int hf_z3950_tooMany
; /* T_tooMany */
991 static int hf_z3950_tooManyWhat
; /* T_tooManyWhat */
992 static int hf_z3950_max
; /* INTEGER */
993 static int hf_z3950_badSpec
; /* T_badSpec */
994 static int hf_z3950_goodOnes
; /* SEQUENCE_OF_Specification */
995 static int hf_z3950_goodOnes_item
; /* Specification */
996 static int hf_z3950_dbUnavail
; /* T_dbUnavail */
997 static int hf_z3950_why
; /* T_why */
998 static int hf_z3950_reasonCode
; /* T_reasonCode */
999 static int hf_z3950_unSupOp
; /* T_unSupOp */
1000 static int hf_z3950_attribute
; /* T_attribute */
1001 static int hf_z3950_id
; /* OBJECT_IDENTIFIER */
1002 static int hf_z3950_type
; /* INTEGER */
1003 static int hf_z3950_attCombo
; /* T_attCombo */
1004 static int hf_z3950_unsupportedCombination
; /* AttributeList */
1005 static int hf_z3950_recommendedAlternatives
; /* SEQUENCE_OF_AttributeList */
1006 static int hf_z3950_recommendedAlternatives_item
; /* AttributeList */
1007 static int hf_z3950_diagFormat_term
; /* T_diagFormat_term */
1008 static int hf_z3950_problem
; /* T_problem */
1009 static int hf_z3950_diagFormat_proximity
; /* T_diagFormat_proximity */
1010 static int hf_z3950_resultSets
; /* NULL */
1011 static int hf_z3950_badSet
; /* InternationalString */
1012 static int hf_z3950_relation
; /* INTEGER */
1013 static int hf_z3950_diagFormat_proximity_unit
; /* INTEGER */
1014 static int hf_z3950_diagFormat_proximity_ordered
; /* NULL */
1015 static int hf_z3950_diagFormat_proximity_exclusion
; /* NULL */
1016 static int hf_z3950_scan
; /* T_scan */
1017 static int hf_z3950_nonZeroStepSize
; /* NULL */
1018 static int hf_z3950_specifiedStepSize
; /* NULL */
1019 static int hf_z3950_termList1
; /* NULL */
1020 static int hf_z3950_termList2
; /* SEQUENCE_OF_AttributeList */
1021 static int hf_z3950_termList2_item
; /* AttributeList */
1022 static int hf_z3950_posInResponse
; /* T_posInResponse */
1023 static int hf_z3950_resources
; /* NULL */
1024 static int hf_z3950_endOfList
; /* NULL */
1025 static int hf_z3950_sort
; /* T_sort */
1026 static int hf_z3950_sequence
; /* NULL */
1027 static int hf_z3950_noRsName
; /* NULL */
1028 static int hf_z3950_diagFormat_sort_tooMany
; /* INTEGER */
1029 static int hf_z3950_incompatible
; /* NULL */
1030 static int hf_z3950_generic
; /* NULL */
1031 static int hf_z3950_diagFormat_sort_dbSpecific
; /* NULL */
1032 static int hf_z3950_key
; /* T_key */
1033 static int hf_z3950_action
; /* NULL */
1034 static int hf_z3950_illegal
; /* T_illegal */
1035 static int hf_z3950_inputTooLarge
; /* SEQUENCE_OF_InternationalString */
1036 static int hf_z3950_inputTooLarge_item
; /* InternationalString */
1037 static int hf_z3950_aggregateTooLarge
; /* NULL */
1038 static int hf_z3950_segmentation
; /* T_segmentation */
1039 static int hf_z3950_segmentCount
; /* NULL */
1040 static int hf_z3950_segmentSize
; /* INTEGER */
1041 static int hf_z3950_extServices
; /* T_extServices */
1042 static int hf_z3950_req
; /* T_req */
1043 static int hf_z3950_permission
; /* T_permission */
1044 static int hf_z3950_immediate
; /* T_immediate */
1045 static int hf_z3950_accessCtrl
; /* T_accessCtrl */
1046 static int hf_z3950_noUser
; /* NULL */
1047 static int hf_z3950_refused
; /* NULL */
1048 static int hf_z3950_diagFormat_accessCtrl_simple
; /* NULL */
1049 static int hf_z3950_diagFormat_accessCtrl_oid
; /* T_diagFormat_accessCtrl_oid */
1050 static int hf_z3950_diagFormat_accessCtrl_oid_item
; /* OBJECT_IDENTIFIER */
1051 static int hf_z3950_alternative
; /* T_alternative */
1052 static int hf_z3950_alternative_item
; /* OBJECT_IDENTIFIER */
1053 static int hf_z3950_pwdInv
; /* NULL */
1054 static int hf_z3950_pwdExp
; /* NULL */
1055 static int hf_z3950_diagFormat_recordSyntax
; /* T_diagFormat_recordSyntax */
1056 static int hf_z3950_unsupportedSyntax
; /* OBJECT_IDENTIFIER */
1057 static int hf_z3950_suggestedAlternatives
; /* T_suggestedAlternatives */
1058 static int hf_z3950_suggestedAlternatives_item
; /* OBJECT_IDENTIFIER */
1059 static int hf_z3950_targetInfo
; /* TargetInfo */
1060 static int hf_z3950_databaseInfo
; /* DatabaseInfo */
1061 static int hf_z3950_schemaInfo
; /* SchemaInfo */
1062 static int hf_z3950_tagSetInfo
; /* TagSetInfo */
1063 static int hf_z3950_recordSyntaxInfo
; /* RecordSyntaxInfo */
1064 static int hf_z3950_attributeSetInfo
; /* AttributeSetInfo */
1065 static int hf_z3950_termListInfo
; /* TermListInfo */
1066 static int hf_z3950_extendedServicesInfo
; /* ExtendedServicesInfo */
1067 static int hf_z3950_attributeDetails
; /* AttributeDetails */
1068 static int hf_z3950_termListDetails
; /* TermListDetails */
1069 static int hf_z3950_elementSetDetails
; /* ElementSetDetails */
1070 static int hf_z3950_retrievalRecordDetails
; /* RetrievalRecordDetails */
1071 static int hf_z3950_sortDetails
; /* SortDetails */
1072 static int hf_z3950_processing
; /* ProcessingInformation */
1073 static int hf_z3950_variants
; /* VariantSetInfo */
1074 static int hf_z3950_units
; /* UnitInfo */
1075 static int hf_z3950_categoryList
; /* CategoryList */
1076 static int hf_z3950_commonInfo
; /* CommonInfo */
1077 static int hf_z3950_name
; /* InternationalString */
1078 static int hf_z3950_recent_news
; /* HumanString */
1079 static int hf_z3950_icon
; /* IconObject */
1080 static int hf_z3950_namedResultSets
; /* BOOLEAN */
1081 static int hf_z3950_multipleDBsearch
; /* BOOLEAN */
1082 static int hf_z3950_maxResultSets
; /* INTEGER */
1083 static int hf_z3950_maxResultSize
; /* INTEGER */
1084 static int hf_z3950_maxTerms
; /* INTEGER */
1085 static int hf_z3950_timeoutInterval
; /* IntUnit */
1086 static int hf_z3950_welcomeMessage
; /* HumanString */
1087 static int hf_z3950_contactInfo
; /* ContactInfo */
1088 static int hf_z3950_description
; /* HumanString */
1089 static int hf_z3950_nicknames
; /* SEQUENCE_OF_InternationalString */
1090 static int hf_z3950_nicknames_item
; /* InternationalString */
1091 static int hf_z3950_usage_restrictions
; /* HumanString */
1092 static int hf_z3950_paymentAddr
; /* HumanString */
1093 static int hf_z3950_hours
; /* HumanString */
1094 static int hf_z3950_dbCombinations
; /* SEQUENCE_OF_DatabaseList */
1095 static int hf_z3950_dbCombinations_item
; /* DatabaseList */
1096 static int hf_z3950_addresses
; /* SEQUENCE_OF_NetworkAddress */
1097 static int hf_z3950_addresses_item
; /* NetworkAddress */
1098 static int hf_z3950_languages
; /* SEQUENCE_OF_InternationalString */
1099 static int hf_z3950_languages_item
; /* InternationalString */
1100 static int hf_z3950_commonAccessInfo
; /* AccessInfo */
1101 static int hf_z3950_databaseInfo_name
; /* DatabaseName */
1102 static int hf_z3950_explainDatabase
; /* NULL */
1103 static int hf_z3950_databaseInfo_nicknames
; /* SEQUENCE_OF_DatabaseName */
1104 static int hf_z3950_databaseInfo_nicknames_item
; /* DatabaseName */
1105 static int hf_z3950_user_fee
; /* BOOLEAN */
1106 static int hf_z3950_available
; /* BOOLEAN */
1107 static int hf_z3950_titleString
; /* HumanString */
1108 static int hf_z3950_keywords
; /* SEQUENCE_OF_HumanString */
1109 static int hf_z3950_keywords_item
; /* HumanString */
1110 static int hf_z3950_associatedDbs
; /* DatabaseList */
1111 static int hf_z3950_subDbs
; /* DatabaseList */
1112 static int hf_z3950_disclaimers
; /* HumanString */
1113 static int hf_z3950_news
; /* HumanString */
1114 static int hf_z3950_recordCount
; /* T_recordCount */
1115 static int hf_z3950_actualNumber
; /* INTEGER */
1116 static int hf_z3950_approxNumber
; /* INTEGER */
1117 static int hf_z3950_defaultOrder
; /* HumanString */
1118 static int hf_z3950_avRecordSize
; /* INTEGER */
1119 static int hf_z3950_bestTime
; /* HumanString */
1120 static int hf_z3950_lastUpdate
; /* GeneralizedTime */
1121 static int hf_z3950_updateInterval
; /* IntUnit */
1122 static int hf_z3950_coverage
; /* HumanString */
1123 static int hf_z3950_proprietary
; /* BOOLEAN */
1124 static int hf_z3950_copyrightText
; /* HumanString */
1125 static int hf_z3950_copyrightNotice
; /* HumanString */
1126 static int hf_z3950_producerContactInfo
; /* ContactInfo */
1127 static int hf_z3950_supplierContactInfo
; /* ContactInfo */
1128 static int hf_z3950_submissionContactInfo
; /* ContactInfo */
1129 static int hf_z3950_accessInfo
; /* AccessInfo */
1130 static int hf_z3950_tagTypeMapping
; /* T_tagTypeMapping */
1131 static int hf_z3950_tagTypeMapping_item
; /* T_tagTypeMapping_item */
1132 static int hf_z3950_tagType
; /* INTEGER */
1133 static int hf_z3950_tagSet
; /* OBJECT_IDENTIFIER */
1134 static int hf_z3950_defaultTagType
; /* NULL */
1135 static int hf_z3950_recordStructure
; /* SEQUENCE_OF_ElementInfo */
1136 static int hf_z3950_recordStructure_item
; /* ElementInfo */
1137 static int hf_z3950_elementName
; /* InternationalString */
1138 static int hf_z3950_elementTagPath
; /* Path */
1139 static int hf_z3950_elementInfo_dataType
; /* ElementDataType */
1140 static int hf_z3950_required
; /* BOOLEAN */
1141 static int hf_z3950_repeatable
; /* BOOLEAN */
1142 static int hf_z3950_Path_item
; /* Path_item */
1143 static int hf_z3950_tagValue
; /* StringOrNumeric */
1144 static int hf_z3950_primitive
; /* PrimitiveDataType */
1145 static int hf_z3950_structured
; /* SEQUENCE_OF_ElementInfo */
1146 static int hf_z3950_structured_item
; /* ElementInfo */
1147 static int hf_z3950_tagSetInfo_elements
; /* T_tagSetInfo_elements */
1148 static int hf_z3950_tagSetInfo_elements_item
; /* T_tagSetInfo_elements_item */
1149 static int hf_z3950_elementname
; /* InternationalString */
1150 static int hf_z3950_elementTag
; /* StringOrNumeric */
1151 static int hf_z3950_dataType
; /* PrimitiveDataType */
1152 static int hf_z3950_otherTagInfo
; /* OtherInformation */
1153 static int hf_z3950_recordSyntax
; /* OBJECT_IDENTIFIER */
1154 static int hf_z3950_transferSyntaxes
; /* T_transferSyntaxes */
1155 static int hf_z3950_transferSyntaxes_item
; /* OBJECT_IDENTIFIER */
1156 static int hf_z3950_asn1Module
; /* InternationalString */
1157 static int hf_z3950_abstractStructure
; /* SEQUENCE_OF_ElementInfo */
1158 static int hf_z3950_abstractStructure_item
; /* ElementInfo */
1159 static int hf_z3950_attributeSetInfo_attributes
; /* SEQUENCE_OF_AttributeType */
1160 static int hf_z3950_attributeSetInfo_attributes_item
; /* AttributeType */
1161 static int hf_z3950_attributeType
; /* INTEGER */
1162 static int hf_z3950_attributeValues
; /* SEQUENCE_OF_AttributeDescription */
1163 static int hf_z3950_attributeValues_item
; /* AttributeDescription */
1164 static int hf_z3950_attributeDescription_attributeValue
; /* StringOrNumeric */
1165 static int hf_z3950_equivalentAttributes
; /* SEQUENCE_OF_StringOrNumeric */
1166 static int hf_z3950_equivalentAttributes_item
; /* StringOrNumeric */
1167 static int hf_z3950_termLists
; /* T_termLists */
1168 static int hf_z3950_termLists_item
; /* T_termLists_item */
1169 static int hf_z3950_title
; /* HumanString */
1170 static int hf_z3950_searchCost
; /* T_searchCost */
1171 static int hf_z3950_scanable
; /* BOOLEAN */
1172 static int hf_z3950_broader
; /* SEQUENCE_OF_InternationalString */
1173 static int hf_z3950_broader_item
; /* InternationalString */
1174 static int hf_z3950_narrower
; /* SEQUENCE_OF_InternationalString */
1175 static int hf_z3950_narrower_item
; /* InternationalString */
1176 static int hf_z3950_extendedServicesInfo_type
; /* OBJECT_IDENTIFIER */
1177 static int hf_z3950_privateType
; /* BOOLEAN */
1178 static int hf_z3950_restrictionsApply
; /* BOOLEAN */
1179 static int hf_z3950_feeApply
; /* BOOLEAN */
1180 static int hf_z3950_retentionSupported
; /* BOOLEAN */
1181 static int hf_z3950_extendedServicesInfo_waitAction
; /* T_extendedServicesInfo_waitAction */
1182 static int hf_z3950_specificExplain
; /* EXTERNAL */
1183 static int hf_z3950_esASN
; /* InternationalString */
1184 static int hf_z3950_attributesBySet
; /* SEQUENCE_OF_AttributeSetDetails */
1185 static int hf_z3950_attributesBySet_item
; /* AttributeSetDetails */
1186 static int hf_z3950_attributeCombinations
; /* AttributeCombinations */
1187 static int hf_z3950_attributesByType
; /* SEQUENCE_OF_AttributeTypeDetails */
1188 static int hf_z3950_attributesByType_item
; /* AttributeTypeDetails */
1189 static int hf_z3950_defaultIfOmitted
; /* OmittedAttributeInterpretation */
1190 static int hf_z3950_attributeTypeDetails_attributeValues
; /* SEQUENCE_OF_AttributeValue */
1191 static int hf_z3950_attributeTypeDetails_attributeValues_item
; /* AttributeValue */
1192 static int hf_z3950_defaultValue
; /* StringOrNumeric */
1193 static int hf_z3950_defaultDescription
; /* HumanString */
1194 static int hf_z3950_attributeValue_value
; /* StringOrNumeric */
1195 static int hf_z3950_subAttributes
; /* SEQUENCE_OF_StringOrNumeric */
1196 static int hf_z3950_subAttributes_item
; /* StringOrNumeric */
1197 static int hf_z3950_superAttributes
; /* SEQUENCE_OF_StringOrNumeric */
1198 static int hf_z3950_superAttributes_item
; /* StringOrNumeric */
1199 static int hf_z3950_partialSupport
; /* NULL */
1200 static int hf_z3950_termListName
; /* InternationalString */
1201 static int hf_z3950_termListDetails_attributes
; /* AttributeCombinations */
1202 static int hf_z3950_scanInfo
; /* T_scanInfo */
1203 static int hf_z3950_maxStepSize
; /* INTEGER */
1204 static int hf_z3950_collatingSequence
; /* HumanString */
1205 static int hf_z3950_increasing
; /* BOOLEAN */
1206 static int hf_z3950_estNumberTerms
; /* INTEGER */
1207 static int hf_z3950_sampleTerms
; /* SEQUENCE_OF_Term */
1208 static int hf_z3950_sampleTerms_item
; /* Term */
1209 static int hf_z3950_elementSetDetails_elementSetName
; /* ElementSetName */
1210 static int hf_z3950_detailsPerElement
; /* SEQUENCE_OF_PerElementDetails */
1211 static int hf_z3950_detailsPerElement_item
; /* PerElementDetails */
1212 static int hf_z3950_recordTag
; /* RecordTag */
1213 static int hf_z3950_schemaTags
; /* SEQUENCE_OF_Path */
1214 static int hf_z3950_schemaTags_item
; /* Path */
1215 static int hf_z3950_maxSize
; /* INTEGER */
1216 static int hf_z3950_minSize
; /* INTEGER */
1217 static int hf_z3950_avgSize
; /* INTEGER */
1218 static int hf_z3950_fixedSize
; /* INTEGER */
1219 static int hf_z3950_contents
; /* HumanString */
1220 static int hf_z3950_billingInfo
; /* HumanString */
1221 static int hf_z3950_restrictions
; /* HumanString */
1222 static int hf_z3950_alternateNames
; /* SEQUENCE_OF_InternationalString */
1223 static int hf_z3950_alternateNames_item
; /* InternationalString */
1224 static int hf_z3950_genericNames
; /* SEQUENCE_OF_InternationalString */
1225 static int hf_z3950_genericNames_item
; /* InternationalString */
1226 static int hf_z3950_searchAccess
; /* AttributeCombinations */
1227 static int hf_z3950_qualifier
; /* StringOrNumeric */
1228 static int hf_z3950_sortKeys
; /* SEQUENCE_OF_SortKeyDetails */
1229 static int hf_z3950_sortKeys_item
; /* SortKeyDetails */
1230 static int hf_z3950_elementSpecifications
; /* SEQUENCE_OF_Specification */
1231 static int hf_z3950_elementSpecifications_item
; /* Specification */
1232 static int hf_z3950_attributeSpecifications
; /* AttributeCombinations */
1233 static int hf_z3950_sortType
; /* T_sortType */
1234 static int hf_z3950_character
; /* NULL */
1235 static int hf_z3950_sortKeyDetails_sortType_numeric
; /* NULL */
1236 static int hf_z3950_sortKeyDetails_sortType_structured
; /* HumanString */
1237 static int hf_z3950_sortKeyDetails_caseSensitivity
; /* T_sortKeyDetails_caseSensitivity */
1238 static int hf_z3950_processingContext
; /* T_processingContext */
1239 static int hf_z3950_instructions
; /* EXTERNAL */
1240 static int hf_z3950_variantSet
; /* OBJECT_IDENTIFIER */
1241 static int hf_z3950_variantSetInfo_variants
; /* SEQUENCE_OF_VariantClass */
1242 static int hf_z3950_variantSetInfo_variants_item
; /* VariantClass */
1243 static int hf_z3950_variantClass
; /* INTEGER */
1244 static int hf_z3950_variantTypes
; /* SEQUENCE_OF_VariantType */
1245 static int hf_z3950_variantTypes_item
; /* VariantType */
1246 static int hf_z3950_variantType
; /* INTEGER */
1247 static int hf_z3950_variantValue
; /* VariantValue */
1248 static int hf_z3950_values
; /* ValueSet */
1249 static int hf_z3950_range
; /* ValueRange */
1250 static int hf_z3950_enumerated
; /* SEQUENCE_OF_ValueDescription */
1251 static int hf_z3950_enumerated_item
; /* ValueDescription */
1252 static int hf_z3950_lower
; /* ValueDescription */
1253 static int hf_z3950_upper
; /* ValueDescription */
1254 static int hf_z3950_integer
; /* INTEGER */
1255 static int hf_z3950_octets
; /* OCTET_STRING */
1256 static int hf_z3950_valueDescription_unit
; /* Unit */
1257 static int hf_z3950_valueAndUnit
; /* IntUnit */
1258 static int hf_z3950_unitInfo_units
; /* SEQUENCE_OF_UnitType */
1259 static int hf_z3950_unitInfo_units_item
; /* UnitType */
1260 static int hf_z3950_unitType_units
; /* SEQUENCE_OF_Units */
1261 static int hf_z3950_unitType_units_item
; /* Units */
1262 static int hf_z3950_categories
; /* SEQUENCE_OF_CategoryInfo */
1263 static int hf_z3950_categories_item
; /* CategoryInfo */
1264 static int hf_z3950_categoryInfo_category
; /* InternationalString */
1265 static int hf_z3950_originalCategory
; /* InternationalString */
1266 static int hf_z3950_dateAdded
; /* GeneralizedTime */
1267 static int hf_z3950_dateChanged
; /* GeneralizedTime */
1268 static int hf_z3950_expiry
; /* GeneralizedTime */
1269 static int hf_z3950_humanString_Language
; /* LanguageCode */
1270 static int hf_z3950_HumanString_item
; /* HumanString_item */
1271 static int hf_z3950_language
; /* LanguageCode */
1272 static int hf_z3950_text
; /* InternationalString */
1273 static int hf_z3950_IconObject_item
; /* IconObject_item */
1274 static int hf_z3950_bodyType
; /* T_bodyType */
1275 static int hf_z3950_ianaType
; /* InternationalString */
1276 static int hf_z3950_z3950type
; /* InternationalString */
1277 static int hf_z3950_otherType
; /* InternationalString */
1278 static int hf_z3950_content
; /* OCTET_STRING */
1279 static int hf_z3950_address
; /* HumanString */
1280 static int hf_z3950_email
; /* InternationalString */
1281 static int hf_z3950_phone
; /* InternationalString */
1282 static int hf_z3950_internetAddress
; /* T_internetAddress */
1283 static int hf_z3950_hostAddress
; /* InternationalString */
1284 static int hf_z3950_port
; /* INTEGER */
1285 static int hf_z3950_osiPresentationAddress
; /* T_osiPresentationAddress */
1286 static int hf_z3950_pSel
; /* InternationalString */
1287 static int hf_z3950_sSel
; /* InternationalString */
1288 static int hf_z3950_tSel
; /* InternationalString */
1289 static int hf_z3950_nSap
; /* InternationalString */
1290 static int hf_z3950_networkAddress_other
; /* T_networkAddress_other */
1291 static int hf_z3950_networkAddress_other_type
; /* InternationalString */
1292 static int hf_z3950_networkAddress_other_address
; /* InternationalString */
1293 static int hf_z3950_queryTypesSupported
; /* SEQUENCE_OF_QueryTypeDetails */
1294 static int hf_z3950_queryTypesSupported_item
; /* QueryTypeDetails */
1295 static int hf_z3950_diagnosticsSets
; /* T_diagnosticsSets */
1296 static int hf_z3950_diagnosticsSets_item
; /* OBJECT_IDENTIFIER */
1297 static int hf_z3950_attributeSetIds
; /* SEQUENCE_OF_AttributeSetId */
1298 static int hf_z3950_attributeSetIds_item
; /* AttributeSetId */
1299 static int hf_z3950_schemas
; /* T_schemas */
1300 static int hf_z3950_schemas_item
; /* OBJECT_IDENTIFIER */
1301 static int hf_z3950_recordSyntaxes
; /* T_recordSyntaxes */
1302 static int hf_z3950_recordSyntaxes_item
; /* OBJECT_IDENTIFIER */
1303 static int hf_z3950_resourceChallenges
; /* T_resourceChallenges */
1304 static int hf_z3950_resourceChallenges_item
; /* OBJECT_IDENTIFIER */
1305 static int hf_z3950_restrictedAccess
; /* AccessRestrictions */
1306 static int hf_z3950_costInfo
; /* Costs */
1307 static int hf_z3950_variantSets
; /* T_variantSets */
1308 static int hf_z3950_variantSets_item
; /* OBJECT_IDENTIFIER */
1309 static int hf_z3950_elementSetNames
; /* SEQUENCE_OF_ElementSetName */
1310 static int hf_z3950_elementSetNames_item
; /* ElementSetName */
1311 static int hf_z3950_unitSystems
; /* SEQUENCE_OF_InternationalString */
1312 static int hf_z3950_unitSystems_item
; /* InternationalString */
1313 static int hf_z3950_queryTypeDetails_private
; /* PrivateCapabilities */
1314 static int hf_z3950_queryTypeDetails_rpn
; /* RpnCapabilities */
1315 static int hf_z3950_iso8777
; /* Iso8777Capabilities */
1316 static int hf_z3950_z39_58
; /* HumanString */
1317 static int hf_z3950_erpn
; /* RpnCapabilities */
1318 static int hf_z3950_rankedList
; /* HumanString */
1319 static int hf_z3950_privateCapabilities_operators
; /* T_privateCapabilities_operators */
1320 static int hf_z3950_privateCapabilities_operators_item
; /* T_privateCapabilities_operators_item */
1321 static int hf_z3950_operator
; /* InternationalString */
1322 static int hf_z3950_searchKeys
; /* SEQUENCE_OF_SearchKey */
1323 static int hf_z3950_searchKeys_item
; /* SearchKey */
1324 static int hf_z3950_privateCapabilities_description
; /* SEQUENCE_OF_HumanString */
1325 static int hf_z3950_privateCapabilities_description_item
; /* HumanString */
1326 static int hf_z3950_operators
; /* T_operators */
1327 static int hf_z3950_operators_item
; /* INTEGER */
1328 static int hf_z3950_resultSetAsOperandSupported
; /* BOOLEAN */
1329 static int hf_z3950_restrictionOperandSupported
; /* BOOLEAN */
1330 static int hf_z3950_proximity
; /* ProximitySupport */
1331 static int hf_z3950_anySupport
; /* BOOLEAN */
1332 static int hf_z3950_unitsSupported
; /* T_unitsSupported */
1333 static int hf_z3950_unitsSupported_item
; /* T_unitsSupported_item */
1334 static int hf_z3950_proximitySupport_unitsSupported_item_known
; /* INTEGER */
1335 static int hf_z3950_proximitySupport_unitsSupported_item_private
; /* T_proximitySupport_unitsSupported_item_private */
1336 static int hf_z3950_proximitySupport_unitsSupported_item_private_unit
; /* INTEGER */
1337 static int hf_z3950_searchKey
; /* InternationalString */
1338 static int hf_z3950_AccessRestrictions_item
; /* AccessRestrictions_item */
1339 static int hf_z3950_accessType
; /* T_accessType */
1340 static int hf_z3950_accessText
; /* HumanString */
1341 static int hf_z3950_accessChallenges
; /* T_accessChallenges */
1342 static int hf_z3950_accessChallenges_item
; /* OBJECT_IDENTIFIER */
1343 static int hf_z3950_connectCharge
; /* Charge */
1344 static int hf_z3950_connectTime
; /* Charge */
1345 static int hf_z3950_displayCharge
; /* Charge */
1346 static int hf_z3950_searchCharge
; /* Charge */
1347 static int hf_z3950_subscriptCharge
; /* Charge */
1348 static int hf_z3950_otherCharges
; /* T_otherCharges */
1349 static int hf_z3950_otherCharges_item
; /* T_otherCharges_item */
1350 static int hf_z3950_forWhat
; /* HumanString */
1351 static int hf_z3950_charge
; /* Charge */
1352 static int hf_z3950_cost
; /* IntUnit */
1353 static int hf_z3950_perWhat
; /* Unit */
1354 static int hf_z3950_charge_text
; /* HumanString */
1355 static int hf_z3950_DatabaseList_item
; /* DatabaseName */
1356 static int hf_z3950_defaultAttributeSet
; /* AttributeSetId */
1357 static int hf_z3950_legalCombinations
; /* SEQUENCE_OF_AttributeCombination */
1358 static int hf_z3950_legalCombinations_item
; /* AttributeCombination */
1359 static int hf_z3950_AttributeCombination_item
; /* AttributeOccurrence */
1360 static int hf_z3950_mustBeSupplied
; /* NULL */
1361 static int hf_z3950_attributeOccurrence_attributeValues
; /* T_attributeOccurrence_attributeValues */
1362 static int hf_z3950_any_or_none
; /* NULL */
1363 static int hf_z3950_specific
; /* SEQUENCE_OF_StringOrNumeric */
1364 static int hf_z3950_specific_item
; /* StringOrNumeric */
1365 static int hf_z3950_briefBib_title
; /* InternationalString */
1366 static int hf_z3950_author
; /* InternationalString */
1367 static int hf_z3950_recordType
; /* InternationalString */
1368 static int hf_z3950_bibliographicLevel
; /* InternationalString */
1369 static int hf_z3950_briefBib_format
; /* SEQUENCE_OF_FormatSpec */
1370 static int hf_z3950_briefBib_format_item
; /* FormatSpec */
1371 static int hf_z3950_publicationPlace
; /* InternationalString */
1372 static int hf_z3950_publicationDate
; /* InternationalString */
1373 static int hf_z3950_targetSystemKey
; /* InternationalString */
1374 static int hf_z3950_satisfyingElement
; /* InternationalString */
1375 static int hf_z3950_rank
; /* INTEGER */
1376 static int hf_z3950_documentId
; /* InternationalString */
1377 static int hf_z3950_abstract
; /* InternationalString */
1378 static int hf_z3950_formatSpec_type
; /* InternationalString */
1379 static int hf_z3950_size
; /* INTEGER */
1380 static int hf_z3950_bestPosn
; /* INTEGER */
1381 static int hf_z3950_GenericRecord_item
; /* TaggedElement */
1382 static int hf_z3950_tagOccurrence
; /* INTEGER */
1383 static int hf_z3950_taggedElement_content
; /* ElementData */
1384 static int hf_z3950_metaData
; /* ElementMetaData */
1385 static int hf_z3950_appliedVariant
; /* Variant */
1386 static int hf_z3950_date
; /* GeneralizedTime */
1387 static int hf_z3950_ext
; /* EXTERNAL */
1388 static int hf_z3950_trueOrFalse
; /* BOOLEAN */
1389 static int hf_z3950_intUnit
; /* IntUnit */
1390 static int hf_z3950_elementNotThere
; /* NULL */
1391 static int hf_z3950_elementEmpty
; /* NULL */
1392 static int hf_z3950_noDataRequested
; /* NULL */
1393 static int hf_z3950_elementData_diagnostic
; /* EXTERNAL */
1394 static int hf_z3950_subtree
; /* SEQUENCE_OF_TaggedElement */
1395 static int hf_z3950_subtree_item
; /* TaggedElement */
1396 static int hf_z3950_seriesOrder
; /* Order */
1397 static int hf_z3950_usageRight
; /* Usage */
1398 static int hf_z3950_hits
; /* SEQUENCE_OF_HitVector */
1399 static int hf_z3950_hits_item
; /* HitVector */
1400 static int hf_z3950_displayName
; /* InternationalString */
1401 static int hf_z3950_supportedVariants
; /* SEQUENCE_OF_Variant */
1402 static int hf_z3950_supportedVariants_item
; /* Variant */
1403 static int hf_z3950_elementDescriptor
; /* OCTET_STRING */
1404 static int hf_z3950_surrogateFor
; /* TagPath */
1405 static int hf_z3950_surrogateElement
; /* TagPath */
1406 static int hf_z3950_TagPath_item
; /* TagPath_item */
1407 static int hf_z3950_ascending
; /* BOOLEAN */
1408 static int hf_z3950_order
; /* INTEGER */
1409 static int hf_z3950_usage_type
; /* T_usage_type */
1410 static int hf_z3950_restriction
; /* InternationalString */
1411 static int hf_z3950_satisfier
; /* Term */
1412 static int hf_z3950_offsetIntoElement
; /* IntUnit */
1413 static int hf_z3950_length
; /* IntUnit */
1414 static int hf_z3950_hitRank
; /* INTEGER */
1415 static int hf_z3950_targetToken
; /* OCTET_STRING */
1416 static int hf_z3950_globalVariantSetId
; /* OBJECT_IDENTIFIER */
1417 static int hf_z3950_triples
; /* T_triples */
1418 static int hf_z3950_triples_item
; /* T_triples_item */
1419 static int hf_z3950_variantSetId
; /* OBJECT_IDENTIFIER */
1420 static int hf_z3950_class
; /* INTEGER */
1421 static int hf_z3950_variant_triples_item_value
; /* T_variant_triples_item_value */
1422 static int hf_z3950_octetString
; /* OCTET_STRING */
1423 static int hf_z3950_boolean
; /* BOOLEAN */
1424 static int hf_z3950_variant_triples_item_value_unit
; /* Unit */
1425 static int hf_z3950_taskPackage_description
; /* InternationalString */
1426 static int hf_z3950_targetReference
; /* OCTET_STRING */
1427 static int hf_z3950_creationDateTime
; /* GeneralizedTime */
1428 static int hf_z3950_taskStatus
; /* T_taskStatus */
1429 static int hf_z3950_packageDiagnostics
; /* SEQUENCE_OF_DiagRec */
1430 static int hf_z3950_packageDiagnostics_item
; /* DiagRec */
1431 static int hf_z3950_challenge
; /* Challenge */
1432 static int hf_z3950_response
; /* Response */
1433 static int hf_z3950_Challenge_item
; /* Challenge_item */
1434 static int hf_z3950_promptId
; /* PromptId */
1435 static int hf_z3950_defaultResponse
; /* InternationalString */
1436 static int hf_z3950_promptInfo
; /* T_promptInfo */
1437 static int hf_z3950_challenge_item_promptInfo_character
; /* InternationalString */
1438 static int hf_z3950_encrypted
; /* Encryption */
1439 static int hf_z3950_regExpr
; /* InternationalString */
1440 static int hf_z3950_responseRequired
; /* NULL */
1441 static int hf_z3950_allowedValues
; /* SEQUENCE_OF_InternationalString */
1442 static int hf_z3950_allowedValues_item
; /* InternationalString */
1443 static int hf_z3950_shouldSave
; /* NULL */
1444 static int hf_z3950_challenge_item_dataType
; /* T_challenge_item_dataType */
1445 static int hf_z3950_challenge_item_diagnostic
; /* EXTERNAL */
1446 static int hf_z3950_Response_item
; /* Response_item */
1447 static int hf_z3950_promptResponse
; /* T_promptResponse */
1448 static int hf_z3950_accept
; /* BOOLEAN */
1449 static int hf_z3950_acknowledge
; /* NULL */
1450 static int hf_z3950_enummeratedPrompt
; /* T_enummeratedPrompt */
1451 static int hf_z3950_promptId_enummeratedPrompt_type
; /* T_promptId_enummeratedPrompt_type */
1452 static int hf_z3950_suggestedString
; /* InternationalString */
1453 static int hf_z3950_nonEnumeratedPrompt
; /* InternationalString */
1454 static int hf_z3950_cryptType
; /* OCTET_STRING */
1455 static int hf_z3950_credential
; /* OCTET_STRING */
1456 static int hf_z3950_data
; /* OCTET_STRING */
1457 static int hf_z3950_dES_RN_Object_challenge
; /* DRNType */
1458 static int hf_z3950_rES_RN_Object_response
; /* DRNType */
1459 static int hf_z3950_dRNType_userId
; /* OCTET_STRING */
1460 static int hf_z3950_salt
; /* OCTET_STRING */
1461 static int hf_z3950_randomNumber
; /* OCTET_STRING */
1462 static int hf_z3950_kRBObject_challenge
; /* KRBRequest */
1463 static int hf_z3950_kRBObject_response
; /* KRBResponse */
1464 static int hf_z3950_service
; /* InternationalString */
1465 static int hf_z3950_instance
; /* InternationalString */
1466 static int hf_z3950_realm
; /* InternationalString */
1467 static int hf_z3950_userid
; /* InternationalString */
1468 static int hf_z3950_ticket
; /* OCTET_STRING */
1469 static int hf_z3950_SearchInfoReport_item
; /* SearchInfoReport_item */
1470 static int hf_z3950_subqueryId
; /* InternationalString */
1471 static int hf_z3950_fullQuery
; /* BOOLEAN */
1472 static int hf_z3950_subqueryExpression
; /* QueryExpression */
1473 static int hf_z3950_subqueryInterpretation
; /* QueryExpression */
1474 static int hf_z3950_subqueryRecommendation
; /* QueryExpression */
1475 static int hf_z3950_subqueryCount
; /* INTEGER */
1476 static int hf_z3950_subqueryWeight
; /* IntUnit */
1477 static int hf_z3950_resultsByDB
; /* ResultsByDB */
1478 static int hf_z3950_ResultsByDB_item
; /* ResultsByDB_item */
1479 static int hf_z3950_databases
; /* T_databases */
1480 static int hf_z3950_all
; /* NULL */
1481 static int hf_z3950_list
; /* SEQUENCE_OF_DatabaseName */
1482 static int hf_z3950_list_item
; /* DatabaseName */
1483 static int hf_z3950_count
; /* INTEGER */
1484 static int hf_z3950_queryExpression_term
; /* T_queryExpression_term */
1485 static int hf_z3950_queryTerm
; /* Term */
1486 static int hf_z3950_termComment
; /* InternationalString */
1488 static int hf_z3950_ProtocolVersion_U_version_1
;
1489 static int hf_z3950_ProtocolVersion_U_version_2
;
1490 static int hf_z3950_ProtocolVersion_U_version_3
;
1491 static int hf_z3950_Options_U_search
;
1492 static int hf_z3950_Options_U_present
;
1493 static int hf_z3950_Options_U_delSet
;
1494 static int hf_z3950_Options_U_resourceReport
;
1495 static int hf_z3950_Options_U_triggerResourceCtrl
;
1496 static int hf_z3950_Options_U_resourceCtrl
;
1497 static int hf_z3950_Options_U_accessCtrl
;
1498 static int hf_z3950_Options_U_scan
;
1499 static int hf_z3950_Options_U_sort
;
1500 static int hf_z3950_Options_U_spare_bit9
;
1501 static int hf_z3950_Options_U_extendedServices
;
1502 static int hf_z3950_Options_U_level_1Segmentation
;
1503 static int hf_z3950_Options_U_level_2Segmentation
;
1504 static int hf_z3950_Options_U_concurrentOperations
;
1505 static int hf_z3950_Options_U_namedResultSets
;
1507 static int hf_z3950_referenceId_printable
;
1508 static int hf_z3950_general_printable
;
1510 /* Initialize the subtree pointers */
1511 static int ett_z3950
;
1513 static int ett_z3950_PDU
;
1514 static int ett_z3950_InitializeRequest
;
1515 static int ett_z3950_T_idAuthentication
;
1516 static int ett_z3950_T_idPass
;
1517 static int ett_z3950_InitializeResponse
;
1518 static int ett_z3950_ProtocolVersion_U
;
1519 static int ett_z3950_Options_U
;
1520 static int ett_z3950_SearchRequest
;
1521 static int ett_z3950_SEQUENCE_OF_DatabaseName
;
1522 static int ett_z3950_Query
;
1523 static int ett_z3950_RPNQuery
;
1524 static int ett_z3950_RPNStructure
;
1525 static int ett_z3950_T_rpnRpnOp
;
1526 static int ett_z3950_Operand
;
1527 static int ett_z3950_AttributesPlusTerm_U
;
1528 static int ett_z3950_ResultSetPlusAttributes_U
;
1529 static int ett_z3950_SEQUENCE_OF_AttributeElement
;
1530 static int ett_z3950_Term
;
1531 static int ett_z3950_Operator_U
;
1532 static int ett_z3950_AttributeElement
;
1533 static int ett_z3950_T_attributeValue
;
1534 static int ett_z3950_T_attributeValue_complex
;
1535 static int ett_z3950_SEQUENCE_OF_StringOrNumeric
;
1536 static int ett_z3950_T_semanticAction
;
1537 static int ett_z3950_ProximityOperator
;
1538 static int ett_z3950_T_proximityUnitCode
;
1539 static int ett_z3950_SearchResponse
;
1540 static int ett_z3950_PresentRequest
;
1541 static int ett_z3950_SEQUENCE_OF_Range
;
1542 static int ett_z3950_T_recordComposition
;
1543 static int ett_z3950_Segment
;
1544 static int ett_z3950_SEQUENCE_OF_NamePlusRecord
;
1545 static int ett_z3950_PresentResponse
;
1546 static int ett_z3950_Records
;
1547 static int ett_z3950_SEQUENCE_OF_DiagRec
;
1548 static int ett_z3950_NamePlusRecord
;
1549 static int ett_z3950_T_record
;
1550 static int ett_z3950_FragmentSyntax
;
1551 static int ett_z3950_DiagRec
;
1552 static int ett_z3950_DefaultDiagFormat
;
1553 static int ett_z3950_T_addinfo
;
1554 static int ett_z3950_Range
;
1555 static int ett_z3950_ElementSetNames
;
1556 static int ett_z3950_T_databaseSpecific
;
1557 static int ett_z3950_T_databaseSpecific_item
;
1558 static int ett_z3950_CompSpec
;
1559 static int ett_z3950_T_dbSpecific
;
1560 static int ett_z3950_T_dbSpecific_item
;
1561 static int ett_z3950_T_compSpec_recordSyntax
;
1562 static int ett_z3950_Specification
;
1563 static int ett_z3950_T_specification_elementSpec
;
1564 static int ett_z3950_DeleteResultSetRequest
;
1565 static int ett_z3950_SEQUENCE_OF_ResultSetId
;
1566 static int ett_z3950_DeleteResultSetResponse
;
1567 static int ett_z3950_ListStatuses
;
1568 static int ett_z3950_ListStatuses_item
;
1569 static int ett_z3950_AccessControlRequest
;
1570 static int ett_z3950_T_securityChallenge
;
1571 static int ett_z3950_AccessControlResponse
;
1572 static int ett_z3950_T_securityChallengeResponse
;
1573 static int ett_z3950_ResourceControlRequest
;
1574 static int ett_z3950_ResourceControlResponse
;
1575 static int ett_z3950_TriggerResourceControlRequest
;
1576 static int ett_z3950_ResourceReportRequest
;
1577 static int ett_z3950_ResourceReportResponse
;
1578 static int ett_z3950_ScanRequest
;
1579 static int ett_z3950_ScanResponse
;
1580 static int ett_z3950_ListEntries
;
1581 static int ett_z3950_SEQUENCE_OF_Entry
;
1582 static int ett_z3950_Entry
;
1583 static int ett_z3950_TermInfo
;
1584 static int ett_z3950_SEQUENCE_OF_AttributesPlusTerm
;
1585 static int ett_z3950_OccurrenceByAttributes
;
1586 static int ett_z3950_OccurrenceByAttributes_item
;
1587 static int ett_z3950_T_occurrences
;
1588 static int ett_z3950_T_byDatabase
;
1589 static int ett_z3950_T_byDatabase_item
;
1590 static int ett_z3950_SortRequest
;
1591 static int ett_z3950_SEQUENCE_OF_InternationalString
;
1592 static int ett_z3950_SEQUENCE_OF_SortKeySpec
;
1593 static int ett_z3950_SortResponse
;
1594 static int ett_z3950_SortKeySpec
;
1595 static int ett_z3950_T_missingValueAction
;
1596 static int ett_z3950_SortElement
;
1597 static int ett_z3950_T_datbaseSpecific
;
1598 static int ett_z3950_T_datbaseSpecific_item
;
1599 static int ett_z3950_SortKey
;
1600 static int ett_z3950_T_sortAttributes
;
1601 static int ett_z3950_ExtendedServicesRequest
;
1602 static int ett_z3950_ExtendedServicesResponse
;
1603 static int ett_z3950_Permissions
;
1604 static int ett_z3950_Permissions_item
;
1605 static int ett_z3950_T_allowableFunctions
;
1606 static int ett_z3950_Close
;
1607 static int ett_z3950_OtherInformation_U
;
1608 static int ett_z3950_T__untag_item
;
1609 static int ett_z3950_T_information
;
1610 static int ett_z3950_InfoCategory
;
1611 static int ett_z3950_IntUnit
;
1612 static int ett_z3950_Unit
;
1613 static int ett_z3950_StringOrNumeric
;
1614 static int ett_z3950_OCLC_UserInformation
;
1615 static int ett_z3950_SEQUENCE_OF_DBName
;
1616 static int ett_z3950_OPACRecord
;
1617 static int ett_z3950_SEQUENCE_OF_HoldingsRecord
;
1618 static int ett_z3950_HoldingsRecord
;
1619 static int ett_z3950_HoldingsAndCircData
;
1620 static int ett_z3950_SEQUENCE_OF_Volume
;
1621 static int ett_z3950_SEQUENCE_OF_CircRecord
;
1622 static int ett_z3950_Volume
;
1623 static int ett_z3950_CircRecord
;
1624 static int ett_z3950_DiagnosticFormat
;
1625 static int ett_z3950_DiagnosticFormat_item
;
1626 static int ett_z3950_T_diagnosticFormat_item_diagnostic
;
1627 static int ett_z3950_DiagFormat
;
1628 static int ett_z3950_T_tooMany
;
1629 static int ett_z3950_T_badSpec
;
1630 static int ett_z3950_SEQUENCE_OF_Specification
;
1631 static int ett_z3950_T_dbUnavail
;
1632 static int ett_z3950_T_why
;
1633 static int ett_z3950_T_attribute
;
1634 static int ett_z3950_T_attCombo
;
1635 static int ett_z3950_SEQUENCE_OF_AttributeList
;
1636 static int ett_z3950_T_diagFormat_term
;
1637 static int ett_z3950_T_diagFormat_proximity
;
1638 static int ett_z3950_T_scan
;
1639 static int ett_z3950_T_sort
;
1640 static int ett_z3950_T_segmentation
;
1641 static int ett_z3950_T_extServices
;
1642 static int ett_z3950_T_accessCtrl
;
1643 static int ett_z3950_T_diagFormat_accessCtrl_oid
;
1644 static int ett_z3950_T_alternative
;
1645 static int ett_z3950_T_diagFormat_recordSyntax
;
1646 static int ett_z3950_T_suggestedAlternatives
;
1647 static int ett_z3950_Explain_Record
;
1648 static int ett_z3950_TargetInfo
;
1649 static int ett_z3950_SEQUENCE_OF_DatabaseList
;
1650 static int ett_z3950_SEQUENCE_OF_NetworkAddress
;
1651 static int ett_z3950_DatabaseInfo
;
1652 static int ett_z3950_SEQUENCE_OF_HumanString
;
1653 static int ett_z3950_T_recordCount
;
1654 static int ett_z3950_SchemaInfo
;
1655 static int ett_z3950_T_tagTypeMapping
;
1656 static int ett_z3950_T_tagTypeMapping_item
;
1657 static int ett_z3950_SEQUENCE_OF_ElementInfo
;
1658 static int ett_z3950_ElementInfo
;
1659 static int ett_z3950_Path
;
1660 static int ett_z3950_Path_item
;
1661 static int ett_z3950_ElementDataType
;
1662 static int ett_z3950_TagSetInfo
;
1663 static int ett_z3950_T_tagSetInfo_elements
;
1664 static int ett_z3950_T_tagSetInfo_elements_item
;
1665 static int ett_z3950_RecordSyntaxInfo
;
1666 static int ett_z3950_T_transferSyntaxes
;
1667 static int ett_z3950_AttributeSetInfo
;
1668 static int ett_z3950_SEQUENCE_OF_AttributeType
;
1669 static int ett_z3950_AttributeType
;
1670 static int ett_z3950_SEQUENCE_OF_AttributeDescription
;
1671 static int ett_z3950_AttributeDescription
;
1672 static int ett_z3950_TermListInfo
;
1673 static int ett_z3950_T_termLists
;
1674 static int ett_z3950_T_termLists_item
;
1675 static int ett_z3950_ExtendedServicesInfo
;
1676 static int ett_z3950_AttributeDetails
;
1677 static int ett_z3950_SEQUENCE_OF_AttributeSetDetails
;
1678 static int ett_z3950_AttributeSetDetails
;
1679 static int ett_z3950_SEQUENCE_OF_AttributeTypeDetails
;
1680 static int ett_z3950_AttributeTypeDetails
;
1681 static int ett_z3950_SEQUENCE_OF_AttributeValue
;
1682 static int ett_z3950_OmittedAttributeInterpretation
;
1683 static int ett_z3950_AttributeValue
;
1684 static int ett_z3950_TermListDetails
;
1685 static int ett_z3950_T_scanInfo
;
1686 static int ett_z3950_SEQUENCE_OF_Term
;
1687 static int ett_z3950_ElementSetDetails
;
1688 static int ett_z3950_SEQUENCE_OF_PerElementDetails
;
1689 static int ett_z3950_RetrievalRecordDetails
;
1690 static int ett_z3950_PerElementDetails
;
1691 static int ett_z3950_SEQUENCE_OF_Path
;
1692 static int ett_z3950_RecordTag
;
1693 static int ett_z3950_SortDetails
;
1694 static int ett_z3950_SEQUENCE_OF_SortKeyDetails
;
1695 static int ett_z3950_SortKeyDetails
;
1696 static int ett_z3950_T_sortType
;
1697 static int ett_z3950_ProcessingInformation
;
1698 static int ett_z3950_VariantSetInfo
;
1699 static int ett_z3950_SEQUENCE_OF_VariantClass
;
1700 static int ett_z3950_VariantClass
;
1701 static int ett_z3950_SEQUENCE_OF_VariantType
;
1702 static int ett_z3950_VariantType
;
1703 static int ett_z3950_VariantValue
;
1704 static int ett_z3950_ValueSet
;
1705 static int ett_z3950_SEQUENCE_OF_ValueDescription
;
1706 static int ett_z3950_ValueRange
;
1707 static int ett_z3950_ValueDescription
;
1708 static int ett_z3950_UnitInfo
;
1709 static int ett_z3950_SEQUENCE_OF_UnitType
;
1710 static int ett_z3950_UnitType
;
1711 static int ett_z3950_SEQUENCE_OF_Units
;
1712 static int ett_z3950_Units
;
1713 static int ett_z3950_CategoryList
;
1714 static int ett_z3950_SEQUENCE_OF_CategoryInfo
;
1715 static int ett_z3950_CategoryInfo
;
1716 static int ett_z3950_CommonInfo
;
1717 static int ett_z3950_HumanString
;
1718 static int ett_z3950_HumanString_item
;
1719 static int ett_z3950_IconObject
;
1720 static int ett_z3950_IconObject_item
;
1721 static int ett_z3950_T_bodyType
;
1722 static int ett_z3950_ContactInfo
;
1723 static int ett_z3950_NetworkAddress
;
1724 static int ett_z3950_T_internetAddress
;
1725 static int ett_z3950_T_osiPresentationAddress
;
1726 static int ett_z3950_T_networkAddress_other
;
1727 static int ett_z3950_AccessInfo
;
1728 static int ett_z3950_SEQUENCE_OF_QueryTypeDetails
;
1729 static int ett_z3950_T_diagnosticsSets
;
1730 static int ett_z3950_SEQUENCE_OF_AttributeSetId
;
1731 static int ett_z3950_T_schemas
;
1732 static int ett_z3950_T_recordSyntaxes
;
1733 static int ett_z3950_T_resourceChallenges
;
1734 static int ett_z3950_T_variantSets
;
1735 static int ett_z3950_SEQUENCE_OF_ElementSetName
;
1736 static int ett_z3950_QueryTypeDetails
;
1737 static int ett_z3950_PrivateCapabilities
;
1738 static int ett_z3950_T_privateCapabilities_operators
;
1739 static int ett_z3950_T_privateCapabilities_operators_item
;
1740 static int ett_z3950_SEQUENCE_OF_SearchKey
;
1741 static int ett_z3950_RpnCapabilities
;
1742 static int ett_z3950_T_operators
;
1743 static int ett_z3950_Iso8777Capabilities
;
1744 static int ett_z3950_ProximitySupport
;
1745 static int ett_z3950_T_unitsSupported
;
1746 static int ett_z3950_T_unitsSupported_item
;
1747 static int ett_z3950_T_proximitySupport_unitsSupported_item_private
;
1748 static int ett_z3950_SearchKey
;
1749 static int ett_z3950_AccessRestrictions
;
1750 static int ett_z3950_AccessRestrictions_item
;
1751 static int ett_z3950_T_accessChallenges
;
1752 static int ett_z3950_Costs
;
1753 static int ett_z3950_T_otherCharges
;
1754 static int ett_z3950_T_otherCharges_item
;
1755 static int ett_z3950_Charge
;
1756 static int ett_z3950_DatabaseList
;
1757 static int ett_z3950_AttributeCombinations
;
1758 static int ett_z3950_SEQUENCE_OF_AttributeCombination
;
1759 static int ett_z3950_AttributeCombination
;
1760 static int ett_z3950_AttributeOccurrence
;
1761 static int ett_z3950_T_attributeOccurrence_attributeValues
;
1762 static int ett_z3950_BriefBib
;
1763 static int ett_z3950_SEQUENCE_OF_FormatSpec
;
1764 static int ett_z3950_FormatSpec
;
1765 static int ett_z3950_GenericRecord
;
1766 static int ett_z3950_TaggedElement
;
1767 static int ett_z3950_ElementData
;
1768 static int ett_z3950_SEQUENCE_OF_TaggedElement
;
1769 static int ett_z3950_ElementMetaData
;
1770 static int ett_z3950_SEQUENCE_OF_HitVector
;
1771 static int ett_z3950_SEQUENCE_OF_Variant
;
1772 static int ett_z3950_TagPath
;
1773 static int ett_z3950_TagPath_item
;
1774 static int ett_z3950_Order
;
1775 static int ett_z3950_Usage
;
1776 static int ett_z3950_HitVector
;
1777 static int ett_z3950_Variant
;
1778 static int ett_z3950_T_triples
;
1779 static int ett_z3950_T_triples_item
;
1780 static int ett_z3950_T_variant_triples_item_value
;
1781 static int ett_z3950_TaskPackage
;
1782 static int ett_z3950_PromptObject
;
1783 static int ett_z3950_Challenge
;
1784 static int ett_z3950_Challenge_item
;
1785 static int ett_z3950_T_promptInfo
;
1786 static int ett_z3950_Response
;
1787 static int ett_z3950_Response_item
;
1788 static int ett_z3950_T_promptResponse
;
1789 static int ett_z3950_PromptId
;
1790 static int ett_z3950_T_enummeratedPrompt
;
1791 static int ett_z3950_Encryption
;
1792 static int ett_z3950_DES_RN_Object
;
1793 static int ett_z3950_DRNType
;
1794 static int ett_z3950_KRBObject
;
1795 static int ett_z3950_KRBRequest
;
1796 static int ett_z3950_KRBResponse
;
1797 static int ett_z3950_SearchInfoReport
;
1798 static int ett_z3950_SearchInfoReport_item
;
1799 static int ett_z3950_ResultsByDB
;
1800 static int ett_z3950_ResultsByDB_item
;
1801 static int ett_z3950_T_databases
;
1802 static int ett_z3950_QueryExpression
;
1803 static int ett_z3950_T_queryExpression_term
;
1805 /* MARC variables and forwards */
1807 static int dissect_marc_record(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*tree
, void * data _U_
);
1810 static int hf_marc_record
;
1811 static int hf_marc_record_terminator
;
1812 static int hf_marc_leader
;
1813 static int hf_marc_leader_length
;
1814 static int hf_marc_leader_status
;
1815 static int hf_marc_leader_type
;
1816 static int hf_marc_leader_biblevel
;
1817 static int hf_marc_leader_control
;
1818 static int hf_marc_leader_encoding
;
1819 static int hf_marc_leader_indicator_count
;
1820 static int hf_marc_leader_subfield_count
;
1821 static int hf_marc_leader_data_offset
;
1822 static int hf_marc_leader_encoding_level
;
1823 static int hf_marc_leader_descriptive_cataloging
;
1824 static int hf_marc_leader_multipart_level
;
1825 static int hf_marc_leader_length_of_field_length
;
1826 static int hf_marc_leader_starting_character_position_length
;
1827 static int hf_marc_leader_implementation_defined_length
;
1828 static int hf_marc_directory
;
1829 static int hf_marc_directory_entry
;
1830 static int hf_marc_directory_entry_tag
;
1831 static int hf_marc_directory_entry_length
;
1832 static int hf_marc_directory_entry_starting_position
;
1833 static int hf_marc_directory_terminator
;
1834 static int hf_marc_fields
;
1835 static int hf_marc_field
;
1836 static int hf_marc_field_control
;
1837 static int hf_marc_field_terminator
;
1838 static int hf_marc_field_indicator1
;
1839 static int hf_marc_field_indicator2
;
1840 static int hf_marc_field_subfield_indicator
;
1841 static int hf_marc_field_subfield_tag
;
1842 static int hf_marc_field_subfield
;
1844 /* MARC subtree pointers */
1845 static int ett_marc_record
;
1846 static int ett_marc_leader
;
1847 static int ett_marc_directory
;
1848 static int ett_marc_directory_entry
;
1849 static int ett_marc_fields
;
1850 static int ett_marc_field
;
1852 /* MARC expert fields */
1853 static expert_field ei_marc_invalid_length
;
1854 static expert_field ei_marc_invalid_value
;
1855 static expert_field ei_marc_invalid_record_length
;
1857 /* MARC value strings */
1859 static const value_string marc_tag_names
[] = {
1860 { 1, "Control Number" },
1861 { 3, "Control Number Identifier" },
1862 { 5, "Date and Time of Latest Transaction" },
1863 { 6, "Fixed-length Data Elements - Additional Material Characteristics" },
1864 { 8, "Fixed-length Data Elements" },
1865 { 7, "Physical Description Fixed Field" },
1866 { 10, "Library of Congress Control Number" },
1867 { 15, "National Bibliography Number" },
1868 { 16, "National Bibliographic Agency Control Number" },
1869 { 17, "Copyright or Legal Deposit Number" },
1870 { 20, "International Standard Book Number (ISBN)" },
1871 { 22, "International Standard Serial Number (ISSN)" },
1872 { 24, "Other Standard Identifier" },
1873 { 25, "Overseas Acquisition Number" },
1874 { 26, "Fingerprint Identifier" },
1875 { 27, "Standard Technical Report Number" },
1876 { 28, "Publisher or Distributor Number" },
1877 { 30, "CODEN Designation" },
1878 { 32, "Postal Registration Number" },
1879 { 33, "Date/Time and Place of an Event" },
1880 { 35, "System Control Number" },
1881 { 37, "Source of Acquisition" },
1882 { 38, "Record Content Licensor" },
1883 { 40, "Cataloging Source" },
1884 { 41, "Language Code" },
1885 { 42, "Authentication Code" },
1886 { 43, "Geographic Area Code" },
1887 { 44, "Country of Publishing/Producing Entity Code" },
1888 { 45, "Time Period of Content" },
1889 { 47, "Form of Musical Composition Code" },
1890 { 50, "Library of Congress Call Number" },
1891 { 51, "Library of Congress Copy, Issue, Offprint Statement" },
1892 { 60, "National Library of Medicine Call Number" },
1893 { 66, "Character Sets Present" },
1894 { 80, "Universal Decimal Classification Number" },
1895 { 82, "Dewey Decimal Classification Number" },
1896 { 83, "Additional Dewey Decimal Classification Number" },
1897 { 84, "Other Classification Number" },
1898 { 100, "Main Entry - Personal Name" },
1899 { 110, "Main Entry - Corporate Name" },
1900 { 111, "Main Entry - Meeting Name" },
1901 { 130, "Main Entry - Uniform Title" },
1902 { 210, "Abbreviated Title" },
1903 { 222, "Key Title" },
1904 { 240, "Uniform Title" },
1905 { 242, "Translation of Title by Cataloging Agency" },
1906 { 243, "Collective Uniform Title" },
1907 { 245, "Title Statement" },
1908 { 246, "Varying Form of Title" },
1909 { 247, "Former Title" },
1910 { 249, "Local LoC Varying Form of Title" },
1911 { 250, "Edition Statement" },
1912 { 260, "Publication, Distribution, etc. (Imprint)" },
1913 { 264, "Production, Publication, Distribution, Manufacture, and Copyright Notice" },
1914 { 300, "Physical Description" },
1915 { 310, "Current Publication Frequency" },
1916 { 321, "former Publication Frequency" },
1917 { 336, "Content Type" },
1918 { 337, "Media Type" },
1919 { 338, "Carrier Type" },
1920 { 340, "Physical Medium" },
1921 { 362, "Dates of Publication and/or Sequential Designation" },
1922 { 400, "Series Statement/Added Entry-Personal Name" },
1923 { 410, "Series Statement/Added Entry-Corporate Name" },
1924 { 411, "Series Statement/Added Entry-Meeting Name" },
1925 { 440, "Series Statement/Added Entry-Title" },
1926 { 490, "Series Statement" },
1927 { 500, "General Note" },
1928 { 504, "Bibliography, etc. Note" },
1929 { 505, "Formatted Contents Note" },
1930 { 506, "Restrictions on Access Note" },
1931 { 508, "Creation/Production Credits Note" },
1932 { 510, "Citation/References Note" },
1933 { 511, "Participant or Performer Note" },
1934 { 515, "Numbering Peculiarities Note" },
1935 { 518, "Date/Time and Place of an Event Note" },
1936 { 520, "Summary, etc." },
1937 { 521, "Target Audience Note" },
1938 { 522, "Geographic Coverage Note" },
1939 { 524, "Preferred Citation of Described Materials Note" },
1940 { 525, "Supplement Note" },
1941 { 530, "Additional Physical Form available Note" },
1942 { 532, "Accessibility Note" },
1943 { 533, "Reproduction Note" },
1944 { 534, "Original Version Note" },
1945 { 538, "System Details Note" },
1946 { 540, "Terms Governing Use and Reproduction Note" },
1947 { 541, "Immediate Source of Acquisition Note" },
1948 { 542, "Information Relating to Copyright Status" },
1949 { 546, "Language Note" },
1950 { 550, "Issuing Body Note" },
1951 { 555, "Cumulative Index/Finding Aids Note" },
1952 { 583, "Action Note" },
1953 { 588, "Source of Description, Etc. Note" },
1954 { 590, "Local LoC Note" },
1955 { 591, "Local LoC \"With\" Note" },
1956 { 592, "Local LoC Acquisition Note" },
1957 { 600, "Subject Added Entry - Personal Name" },
1958 { 610, "Subject Added Entry - Corporate Name" },
1959 { 611, "Subject Added Entry - Meeting Name" },
1960 { 630, "Subject Added Entry - Uniform Title" },
1961 { 647, "Subject Added Entry - Named Event" },
1962 { 648, "Subject Added Entry - Chronological Term" },
1963 { 650, "Subject Added Entry - Topical Term" },
1964 { 651, "Subject Added Entry - Geographic Name" },
1965 { 653, "Index Term - Uncontrolled" },
1966 { 654, "Subject Added Entry - Faceted Topical Terms" },
1967 { 655, "Index Term - Genre/Form" },
1968 { 656, "Index Term - Occupation" },
1969 { 657, "Index Term - Function" },
1970 { 658, "Index Term - Curriculum Objective" },
1971 { 662, "Subject Added Entry - Hierarchical Place Name" },
1972 { 700, "Added Entry - Personal Name" },
1973 { 710, "Added Entry - Corporate Name" },
1974 { 711, "Added Entry - Meeting Name" },
1975 { 720, "Added Entry - Uncontrolled Name" },
1976 { 730, "Added Entry - Uniform Title" },
1977 { 740, "Added Entry - Uncontrolled Related/Analytical Title" },
1978 { 751, "Added Entry - Geographic Name" },
1979 { 752, "Added Entry - Hierarchical Place Name" },
1980 { 753, "System Details Access to Computer Files" },
1981 { 754, "Added Entry - Taxonomic Identification" },
1982 { 758, "Resource Identifier" },
1983 { 760, "Main Series Entry" },
1984 { 762, "Subseries Entry" },
1985 { 765, "Original Language Entry" },
1986 { 767, "Translation Entry" },
1987 { 770, "Supplement/Special Issue Entry" },
1988 { 772, "Supplement Parent Entry" },
1989 { 773, "Host Item Entry" },
1990 { 774, "Constituent Unit Entry" },
1991 { 775, "Other Edition Entry" },
1992 { 776, "Additional Physical Form Entry" },
1993 { 777, "Issued With Entry" },
1994 { 780, "Preceding Entry" },
1995 { 785, "Succeeding Entry" },
1996 { 786, "Data Source Entry" },
1997 { 787, "Other Relationship Entry" },
1998 { 800, "Series Added Entry - Personal Name" },
1999 { 810, "Series Added Entry - Corporate Name" },
2000 { 811, "Series Added Entry - Meeting Name" },
2001 { 830, "Series Added Entry - Uniform Title" },
2002 { 850, "Holding Institution" },
2003 { 852, "Location" },
2004 { 853, "Captions and Pattern - Basic Bibliographic Unit" },
2005 { 856, "Electronic Location and Access" },
2006 { 859, "Local LoC Electronic Location and Access" },
2007 { 863, "Enumeration and Chronology - Basic Bibliographic Unit" },
2008 { 880, "Alternate Graphic Representation" },
2009 { 890, "Local LoC Visible File Entry" },
2010 { 906, "Local LoC Processing Data" },
2011 { 920, "Local LoC Selection Decision" },
2012 { 922, "Local LoC Book Source" },
2013 { 923, "Local LoC Supplier Invoice or Shipment Id" },
2014 { 925, "Local LoC Selection Decision" },
2015 { 952, "Local LoC Cataloger's Permanent Note" },
2016 { 955, "Local LoC Functional Identifying Information" },
2017 { 984, "Local LoC Shelflist Compare Status" },
2018 { 985, "Local LoC Record History" },
2019 { 987, "Local LoC Conversation History" },
2020 { 991, "Local LoC Location Information" },
2021 { 992, "Local LoC Location Information" },
2026 dissect_z3950_printable_OCTET_STRING(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2027 tvbuff_t
*next_tvb
= NULL
;
2028 int hf_alternate
= 0;
2029 unsigned old_offset
= offset
;
2031 if (hf_index
== hf_z3950_referenceId
) {
2032 hf_alternate
= hf_z3950_referenceId_printable
;
2034 else if ( hf_index
== hf_z3950_general
) {
2035 hf_alternate
= hf_z3950_general_printable
;
2038 if (hf_alternate
> 0) {
2039 /* extract the value of the octet string so we can look at it. */
2040 /* This does not display anything because tree is NULL. */
2041 offset
= dissect_ber_octet_string(implicit_tag
, actx
, NULL
, tvb
, offset
, hf_index
, &next_tvb
);
2044 tvb_ascii_isprint(next_tvb
, 0, tvb_reported_length(next_tvb
))) {
2045 proto_tree_add_item(tree
, hf_alternate
, next_tvb
,
2046 0, tvb_reported_length(next_tvb
), ENC_ASCII
|ENC_NA
);
2049 offset
= dissect_ber_octet_string(implicit_tag
, actx
, tree
, tvb
,
2050 old_offset
, hf_index
, NULL
);
2054 offset
= dissect_ber_octet_string(implicit_tag
, actx
, tree
, tvb
,
2055 old_offset
, hf_index
, NULL
);
2061 /*--- Cyclic dependencies ---*/
2063 /* RPNStructure -> RPNStructure/rpnRpnOp -> RPNStructure */
2064 /* RPNStructure -> RPNStructure/rpnRpnOp -> RPNStructure */
2065 static int dissect_z3950_RPNStructure(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
);
2067 /* ElementInfo -> ElementDataType -> ElementDataType/structured -> ElementInfo */
2068 static int dissect_z3950_ElementInfo(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
);
2070 /* TaggedElement -> ElementData -> ElementData/subtree -> TaggedElement */
2071 static int dissect_z3950_TaggedElement(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
);
2077 dissect_z3950_OCTET_STRING(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2078 offset
= dissect_ber_octet_string(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
2087 dissect_z3950_ReferenceId(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2088 offset
= dissect_ber_tagged_type(implicit_tag
, actx
, tree
, tvb
, offset
,
2089 hf_index
, BER_CLASS_CON
, 2, true,
2090 dissect_z3950_printable_OCTET_STRING
);
2097 static int * const ProtocolVersion_U_bits
[] = {
2098 &hf_z3950_ProtocolVersion_U_version_1
,
2099 &hf_z3950_ProtocolVersion_U_version_2
,
2100 &hf_z3950_ProtocolVersion_U_version_3
,
2105 dissect_z3950_ProtocolVersion_U(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2106 offset
= dissect_ber_bitstring(implicit_tag
, actx
, tree
, tvb
, offset
,
2107 ProtocolVersion_U_bits
, 3, hf_index
, ett_z3950_ProtocolVersion_U
,
2116 dissect_z3950_ProtocolVersion(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2117 offset
= dissect_ber_tagged_type(implicit_tag
, actx
, tree
, tvb
, offset
,
2118 hf_index
, BER_CLASS_CON
, 3, true, dissect_z3950_ProtocolVersion_U
);
2124 static int * const Options_U_bits
[] = {
2125 &hf_z3950_Options_U_search
,
2126 &hf_z3950_Options_U_present
,
2127 &hf_z3950_Options_U_delSet
,
2128 &hf_z3950_Options_U_resourceReport
,
2129 &hf_z3950_Options_U_triggerResourceCtrl
,
2130 &hf_z3950_Options_U_resourceCtrl
,
2131 &hf_z3950_Options_U_accessCtrl
,
2132 &hf_z3950_Options_U_scan
,
2133 &hf_z3950_Options_U_sort
,
2134 &hf_z3950_Options_U_spare_bit9
,
2135 &hf_z3950_Options_U_extendedServices
,
2136 &hf_z3950_Options_U_level_1Segmentation
,
2137 &hf_z3950_Options_U_level_2Segmentation
,
2138 &hf_z3950_Options_U_concurrentOperations
,
2139 &hf_z3950_Options_U_namedResultSets
,
2144 dissect_z3950_Options_U(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2145 offset
= dissect_ber_bitstring(implicit_tag
, actx
, tree
, tvb
, offset
,
2146 Options_U_bits
, 15, hf_index
, ett_z3950_Options_U
,
2155 dissect_z3950_Options(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2156 offset
= dissect_ber_tagged_type(implicit_tag
, actx
, tree
, tvb
, offset
,
2157 hf_index
, BER_CLASS_CON
, 4, true, dissect_z3950_Options_U
);
2165 dissect_z3950_INTEGER(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2166 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
2175 dissect_z3950_VisibleString(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2176 offset
= dissect_ber_restricted_string(implicit_tag
, BER_UNI_TAG_VisibleString
,
2177 actx
, tree
, tvb
, offset
, hf_index
,
2186 dissect_z3950_InternationalString(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2187 offset
= dissect_ber_restricted_string(implicit_tag
, BER_UNI_TAG_GeneralString
,
2188 actx
, tree
, tvb
, offset
, hf_index
,
2195 static const ber_sequence_t T_idPass_sequence
[] = {
2196 { &hf_z3950_groupId
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
2197 { &hf_z3950_userId
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
2198 { &hf_z3950_password
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
2199 { NULL
, 0, 0, 0, NULL
}
2203 dissect_z3950_T_idPass(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2204 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
2205 T_idPass_sequence
, hf_index
, ett_z3950_T_idPass
);
2213 dissect_z3950_NULL(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2214 offset
= dissect_ber_null(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
2222 dissect_z3950_EXTERNAL(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2223 offset
= dissect_ber_external_type(implicit_tag
, tree
, tvb
, offset
, actx
, hf_index
, NULL
);
2229 static const value_string z3950_T_idAuthentication_vals
[] = {
2237 static const ber_choice_t T_idAuthentication_choice
[] = {
2238 { 0, &hf_z3950_open
, BER_CLASS_UNI
, BER_UNI_TAG_VisibleString
, BER_FLAGS_NOOWNTAG
, dissect_z3950_VisibleString
},
2239 { 1, &hf_z3950_idPass
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_T_idPass
},
2240 { 2, &hf_z3950_anonymous
, BER_CLASS_UNI
, BER_UNI_TAG_NULL
, BER_FLAGS_NOOWNTAG
, dissect_z3950_NULL
},
2241 { 3, &hf_z3950_other
, BER_CLASS_UNI
, BER_UNI_TAG_EXTERNAL
, BER_FLAGS_NOOWNTAG
, dissect_z3950_EXTERNAL
},
2242 { 0, NULL
, 0, 0, 0, NULL
}
2246 dissect_z3950_T_idAuthentication(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2247 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
2248 T_idAuthentication_choice
, hf_index
, ett_z3950_T_idAuthentication
,
2257 dissect_z3950_OBJECT_IDENTIFIER(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2258 offset
= dissect_ber_object_identifier(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
, NULL
);
2264 static const ber_sequence_t InfoCategory_sequence
[] = {
2265 { &hf_z3950_categoryTypeId
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_OBJECT_IDENTIFIER
},
2266 { &hf_z3950_categoryValue
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
2267 { NULL
, 0, 0, 0, NULL
}
2271 dissect_z3950_InfoCategory(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2272 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
2273 InfoCategory_sequence
, hf_index
, ett_z3950_InfoCategory
);
2279 static const value_string z3950_T_information_vals
[] = {
2280 { 2, "characterInfo" },
2281 { 3, "binaryInfo" },
2282 { 4, "externallyDefinedInfo" },
2287 static const ber_choice_t T_information_choice
[] = {
2288 { 2, &hf_z3950_characterInfo
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
2289 { 3, &hf_z3950_binaryInfo
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_z3950_OCTET_STRING
},
2290 { 4, &hf_z3950_externallyDefinedInfo
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
, dissect_z3950_EXTERNAL
},
2291 { 5, &hf_z3950_oid
, BER_CLASS_CON
, 5, BER_FLAGS_IMPLTAG
, dissect_z3950_OBJECT_IDENTIFIER
},
2292 { 0, NULL
, 0, 0, 0, NULL
}
2296 dissect_z3950_T_information(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2297 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
2298 T_information_choice
, hf_index
, ett_z3950_T_information
,
2305 static const ber_sequence_t T__untag_item_sequence
[] = {
2306 { &hf_z3950_category
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InfoCategory
},
2307 { &hf_z3950_information
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_z3950_T_information
},
2308 { NULL
, 0, 0, 0, NULL
}
2312 dissect_z3950_T__untag_item(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2313 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
2314 T__untag_item_sequence
, hf_index
, ett_z3950_T__untag_item
);
2320 static const ber_sequence_t OtherInformation_U_sequence_of
[1] = {
2321 { &hf_z3950_otherInformation_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_T__untag_item
},
2325 dissect_z3950_OtherInformation_U(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2326 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
2327 OtherInformation_U_sequence_of
, hf_index
, ett_z3950_OtherInformation_U
);
2335 dissect_z3950_OtherInformation(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2336 offset
= dissect_ber_tagged_type(implicit_tag
, actx
, tree
, tvb
, offset
,
2337 hf_index
, BER_CLASS_CON
, 201, true, dissect_z3950_OtherInformation_U
);
2343 static const ber_sequence_t InitializeRequest_sequence
[] = {
2344 { &hf_z3950_referenceId
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_ReferenceId
},
2345 { &hf_z3950_protocolVersion
, BER_CLASS_CON
, 3, BER_FLAGS_NOOWNTAG
, dissect_z3950_ProtocolVersion
},
2346 { &hf_z3950_options
, BER_CLASS_CON
, 4, BER_FLAGS_NOOWNTAG
, dissect_z3950_Options
},
2347 { &hf_z3950_preferredMessageSize
, BER_CLASS_CON
, 5, BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
2348 { &hf_z3950_exceptionalRecordSize
, BER_CLASS_CON
, 6, BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
2349 { &hf_z3950_idAuthentication
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
, dissect_z3950_T_idAuthentication
},
2350 { &hf_z3950_implementationId
, BER_CLASS_CON
, 110, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
2351 { &hf_z3950_implementationName
, BER_CLASS_CON
, 111, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
2352 { &hf_z3950_implementationVersion
, BER_CLASS_CON
, 112, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
2353 { &hf_z3950_userInformationField
, BER_CLASS_CON
, 11, BER_FLAGS_OPTIONAL
, dissect_z3950_EXTERNAL
},
2354 { &hf_z3950_otherInfo
, BER_CLASS_CON
, 201, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_OtherInformation
},
2355 { NULL
, 0, 0, 0, NULL
}
2359 dissect_z3950_InitializeRequest(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2360 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
2361 InitializeRequest_sequence
, hf_index
, ett_z3950_InitializeRequest
);
2369 dissect_z3950_BOOLEAN(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2370 offset
= dissect_ber_boolean(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
, NULL
);
2376 static const ber_sequence_t InitializeResponse_sequence
[] = {
2377 { &hf_z3950_referenceId
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_ReferenceId
},
2378 { &hf_z3950_protocolVersion
, BER_CLASS_CON
, 3, BER_FLAGS_NOOWNTAG
, dissect_z3950_ProtocolVersion
},
2379 { &hf_z3950_options
, BER_CLASS_CON
, 4, BER_FLAGS_NOOWNTAG
, dissect_z3950_Options
},
2380 { &hf_z3950_preferredMessageSize
, BER_CLASS_CON
, 5, BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
2381 { &hf_z3950_exceptionalRecordSize
, BER_CLASS_CON
, 6, BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
2382 { &hf_z3950_result
, BER_CLASS_CON
, 12, BER_FLAGS_IMPLTAG
, dissect_z3950_BOOLEAN
},
2383 { &hf_z3950_implementationId
, BER_CLASS_CON
, 110, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
2384 { &hf_z3950_implementationName
, BER_CLASS_CON
, 111, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
2385 { &hf_z3950_implementationVersion
, BER_CLASS_CON
, 112, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
2386 { &hf_z3950_userInformationField
, BER_CLASS_CON
, 11, BER_FLAGS_OPTIONAL
, dissect_z3950_EXTERNAL
},
2387 { &hf_z3950_otherInfo
, BER_CLASS_CON
, 201, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_OtherInformation
},
2388 { NULL
, 0, 0, 0, NULL
}
2392 dissect_z3950_InitializeResponse(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2393 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
2394 InitializeResponse_sequence
, hf_index
, ett_z3950_InitializeResponse
);
2402 dissect_z3950_DatabaseName(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2403 offset
= dissect_ber_tagged_type(implicit_tag
, actx
, tree
, tvb
, offset
,
2404 hf_index
, BER_CLASS_CON
, 105, true, dissect_z3950_InternationalString
);
2410 static const ber_sequence_t SEQUENCE_OF_DatabaseName_sequence_of
[1] = {
2411 { &hf_z3950_databaseNames_item
, BER_CLASS_CON
, 105, BER_FLAGS_NOOWNTAG
, dissect_z3950_DatabaseName
},
2415 dissect_z3950_SEQUENCE_OF_DatabaseName(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2416 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
2417 SEQUENCE_OF_DatabaseName_sequence_of
, hf_index
, ett_z3950_SEQUENCE_OF_DatabaseName
);
2425 dissect_z3950_ElementSetName(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2426 offset
= dissect_ber_tagged_type(implicit_tag
, actx
, tree
, tvb
, offset
,
2427 hf_index
, BER_CLASS_CON
, 103, true, dissect_z3950_InternationalString
);
2433 static const ber_sequence_t T_databaseSpecific_item_sequence
[] = {
2434 { &hf_z3950_dbName
, BER_CLASS_CON
, 105, BER_FLAGS_NOOWNTAG
, dissect_z3950_DatabaseName
},
2435 { &hf_z3950_esn
, BER_CLASS_CON
, 103, BER_FLAGS_NOOWNTAG
, dissect_z3950_ElementSetName
},
2436 { NULL
, 0, 0, 0, NULL
}
2440 dissect_z3950_T_databaseSpecific_item(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2441 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
2442 T_databaseSpecific_item_sequence
, hf_index
, ett_z3950_T_databaseSpecific_item
);
2448 static const ber_sequence_t T_databaseSpecific_sequence_of
[1] = {
2449 { &hf_z3950_databaseSpecific_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_T_databaseSpecific_item
},
2453 dissect_z3950_T_databaseSpecific(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2454 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
2455 T_databaseSpecific_sequence_of
, hf_index
, ett_z3950_T_databaseSpecific
);
2461 static const value_string z3950_ElementSetNames_vals
[] = {
2462 { 0, "genericElementSetName" },
2463 { 1, "databaseSpecific" },
2467 static const ber_choice_t ElementSetNames_choice
[] = {
2468 { 0, &hf_z3950_genericElementSetName
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
2469 { 1, &hf_z3950_databaseSpecific
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_T_databaseSpecific
},
2470 { 0, NULL
, 0, 0, 0, NULL
}
2474 dissect_z3950_ElementSetNames(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2475 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
2476 ElementSetNames_choice
, hf_index
, ett_z3950_ElementSetNames
,
2485 dissect_z3950_T_type_0(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2486 /*XXX Not implemented yet */
2495 dissect_z3950_AttributeSetId(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2496 tvbuff_t
*oid_tvb
=NULL
;
2498 offset
= dissect_ber_object_identifier(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
, &oid_tvb
);
2501 packet_info
*pinfo
= actx
->pinfo
;
2502 unsigned len
= tvb_reported_length_remaining(oid_tvb
, 0);
2503 char *oid_str
= oid_encoded2string(pinfo
->pool
,
2504 tvb_get_ptr(oid_tvb
, 0, len
), len
);
2505 int attribute_set_idx
= Z3950_ATSET_UNKNOWN
;
2506 z3950_atinfo_t
*atinfo_data
;
2508 if (g_strcmp0(oid_str
, Z3950_ATSET_BIB1_OID
) == 0) {
2509 attribute_set_idx
= Z3950_ATSET_BIB1
;
2511 if ((atinfo_data
= (z3950_atinfo_t
*)p_get_proto_data(pinfo
->pool
, pinfo
, proto_z3950
, Z3950_ATINFO_KEY
)) == NULL
) {
2513 atinfo_data
= wmem_new0(pinfo
->pool
, z3950_atinfo_t
);
2514 atinfo_data
->atsetidx
= attribute_set_idx
;
2515 p_add_proto_data(pinfo
->pool
, pinfo
,
2516 proto_z3950
, Z3950_ATINFO_KEY
, atinfo_data
);
2519 atinfo_data
->atsetidx
= attribute_set_idx
;
2529 dissect_z3950_T_attributeElement_attributeType(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2531 packet_info
*pinfo
= actx
->pinfo
;
2532 z3950_atinfo_t
*atinfo_data
;
2533 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
2536 atinfo_data
= (z3950_atinfo_t
*)p_get_proto_data(pinfo
->pool
, pinfo
, proto_z3950
, Z3950_ATINFO_KEY
);
2537 if (atinfo_data
&& atinfo_data
->atsetidx
== Z3950_ATSET_BIB1
) {
2538 proto_item_append_text(actx
->created_item
, " (%s)",
2539 val_to_str(att_type
, z3950_bib1_att_types
, "Unknown bib-1 attributeType %d"));
2540 atinfo_data
->attype
= att_type
;
2548 dissect_z3950_T_attributeValue_numeric(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2550 packet_info
*pinfo
= actx
->pinfo
;
2551 z3950_atinfo_t
*atinfo_data
;
2552 const value_string
*att_value_string
= NULL
;
2553 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
2556 atinfo_data
= (z3950_atinfo_t
*)p_get_proto_data(pinfo
->pool
, pinfo
, proto_z3950
, Z3950_ATINFO_KEY
);
2557 if (atinfo_data
&& atinfo_data
->atsetidx
== Z3950_ATSET_BIB1
) {
2558 switch (atinfo_data
->attype
) {
2559 case Z3950_BIB1_AT_USE
:
2560 att_value_string
= z3950_bib1_at_use
;
2562 case Z3950_BIB1_AT_RELATION
:
2563 att_value_string
= z3950_bib1_at_relation
;
2565 case Z3950_BIB1_AT_POSITION
:
2566 att_value_string
= z3950_bib1_at_position
;
2568 case Z3950_BIB1_AT_STRUCTURE
:
2569 att_value_string
= z3950_bib1_at_structure
;
2571 case Z3950_BIB1_AT_TRUNCATION
:
2572 att_value_string
= z3950_bib1_at_truncation
;
2574 case Z3950_BIB1_AT_COMPLETENESS
:
2575 att_value_string
= z3950_bib1_at_completeness
;
2578 att_value_string
= NULL
;
2580 if (att_value_string
) {
2581 proto_item_append_text(actx
->created_item
, " (%s)",
2582 val_to_str(att_value
, att_value_string
, "Unknown bib-1 attributeValue %d"));
2589 static const value_string z3950_StringOrNumeric_vals
[] = {
2595 static const ber_choice_t StringOrNumeric_choice
[] = {
2596 { 1, &hf_z3950_string
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
2597 { 2, &hf_z3950_numeric
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
2598 { 0, NULL
, 0, 0, 0, NULL
}
2602 dissect_z3950_StringOrNumeric(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2603 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
2604 StringOrNumeric_choice
, hf_index
, ett_z3950_StringOrNumeric
,
2611 static const ber_sequence_t SEQUENCE_OF_StringOrNumeric_sequence_of
[1] = {
2612 { &hf_z3950_attributeValue_complex_list_item
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_z3950_StringOrNumeric
},
2616 dissect_z3950_SEQUENCE_OF_StringOrNumeric(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2617 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
2618 SEQUENCE_OF_StringOrNumeric_sequence_of
, hf_index
, ett_z3950_SEQUENCE_OF_StringOrNumeric
);
2624 static const ber_sequence_t T_semanticAction_sequence_of
[1] = {
2625 { &hf_z3950_semanticAction_item
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_NOOWNTAG
, dissect_z3950_INTEGER
},
2629 dissect_z3950_T_semanticAction(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2630 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
2631 T_semanticAction_sequence_of
, hf_index
, ett_z3950_T_semanticAction
);
2637 static const ber_sequence_t T_attributeValue_complex_sequence
[] = {
2638 { &hf_z3950_attributeValue_complex_list
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_StringOrNumeric
},
2639 { &hf_z3950_semanticAction
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_T_semanticAction
},
2640 { NULL
, 0, 0, 0, NULL
}
2644 dissect_z3950_T_attributeValue_complex(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2645 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
2646 T_attributeValue_complex_sequence
, hf_index
, ett_z3950_T_attributeValue_complex
);
2652 static const value_string z3950_T_attributeValue_vals
[] = {
2658 static const ber_choice_t T_attributeValue_choice
[] = {
2659 { 121, &hf_z3950_attributeValue_numeric
, BER_CLASS_CON
, 121, BER_FLAGS_IMPLTAG
, dissect_z3950_T_attributeValue_numeric
},
2660 { 224, &hf_z3950_attributeValue_complex
, BER_CLASS_CON
, 224, BER_FLAGS_IMPLTAG
, dissect_z3950_T_attributeValue_complex
},
2661 { 0, NULL
, 0, 0, 0, NULL
}
2665 dissect_z3950_T_attributeValue(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2666 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
2667 T_attributeValue_choice
, hf_index
, ett_z3950_T_attributeValue
,
2674 static const ber_sequence_t AttributeElement_sequence
[] = {
2675 { &hf_z3950_attributeSet
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_AttributeSetId
},
2676 { &hf_z3950_attributeElement_attributeType
, BER_CLASS_CON
, 120, BER_FLAGS_IMPLTAG
, dissect_z3950_T_attributeElement_attributeType
},
2677 { &hf_z3950_attributeValue
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_z3950_T_attributeValue
},
2678 { NULL
, 0, 0, 0, NULL
}
2682 dissect_z3950_AttributeElement(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2683 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
2684 AttributeElement_sequence
, hf_index
, ett_z3950_AttributeElement
);
2690 static const ber_sequence_t SEQUENCE_OF_AttributeElement_sequence_of
[1] = {
2691 { &hf_z3950_attributeList_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_AttributeElement
},
2695 dissect_z3950_SEQUENCE_OF_AttributeElement(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2696 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
2697 SEQUENCE_OF_AttributeElement_sequence_of
, hf_index
, ett_z3950_SEQUENCE_OF_AttributeElement
);
2705 dissect_z3950_AttributeList(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2706 offset
= dissect_ber_tagged_type(implicit_tag
, actx
, tree
, tvb
, offset
,
2707 hf_index
, BER_CLASS_CON
, 44, true, dissect_z3950_SEQUENCE_OF_AttributeElement
);
2715 dissect_z3950_T_general(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2716 offset
= dissect_ber_tagged_type(implicit_tag
, actx
, tree
, tvb
, offset
,
2717 hf_index
, BER_CLASS_CON
, 2, true,
2718 dissect_z3950_printable_OCTET_STRING
);
2727 dissect_z3950_GeneralizedTime(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2728 offset
= dissect_ber_GeneralizedTime(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
2734 static const ber_sequence_t Unit_sequence
[] = {
2735 { &hf_z3950_unitSystem
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
, dissect_z3950_InternationalString
},
2736 { &hf_z3950_unitType
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOTCHKTAG
, dissect_z3950_StringOrNumeric
},
2737 { &hf_z3950_unit
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOTCHKTAG
, dissect_z3950_StringOrNumeric
},
2738 { &hf_z3950_scaleFactor
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
2739 { NULL
, 0, 0, 0, NULL
}
2743 dissect_z3950_Unit(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2744 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
2745 Unit_sequence
, hf_index
, ett_z3950_Unit
);
2751 static const ber_sequence_t IntUnit_sequence
[] = {
2752 { &hf_z3950_value
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
2753 { &hf_z3950_unitUsed
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_Unit
},
2754 { NULL
, 0, 0, 0, NULL
}
2758 dissect_z3950_IntUnit(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2759 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
2760 IntUnit_sequence
, hf_index
, ett_z3950_IntUnit
);
2766 static const value_string z3950_Term_vals
[] = {
2769 { 216, "characterString" },
2771 { 218, "dateTime" },
2772 { 219, "external" },
2773 { 220, "integerAndUnit" },
2778 static const ber_choice_t Term_choice
[] = {
2779 { 45, &hf_z3950_general
, BER_CLASS_CON
, 45, BER_FLAGS_IMPLTAG
, dissect_z3950_T_general
},
2780 { 215, &hf_z3950_numeric
, BER_CLASS_CON
, 215, BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
2781 { 216, &hf_z3950_characterString
, BER_CLASS_CON
, 216, BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
2782 { 217, &hf_z3950_oid
, BER_CLASS_CON
, 217, BER_FLAGS_IMPLTAG
, dissect_z3950_OBJECT_IDENTIFIER
},
2783 { 218, &hf_z3950_dateTime
, BER_CLASS_CON
, 218, BER_FLAGS_IMPLTAG
, dissect_z3950_GeneralizedTime
},
2784 { 219, &hf_z3950_external
, BER_CLASS_CON
, 219, BER_FLAGS_IMPLTAG
, dissect_z3950_EXTERNAL
},
2785 { 220, &hf_z3950_integerAndUnit
, BER_CLASS_CON
, 220, BER_FLAGS_IMPLTAG
, dissect_z3950_IntUnit
},
2786 { 221, &hf_z3950_null
, BER_CLASS_CON
, 221, BER_FLAGS_IMPLTAG
, dissect_z3950_NULL
},
2787 { 0, NULL
, 0, 0, 0, NULL
}
2791 dissect_z3950_Term(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2792 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
2793 Term_choice
, hf_index
, ett_z3950_Term
,
2800 static const ber_sequence_t AttributesPlusTerm_U_sequence
[] = {
2801 { &hf_z3950_attributes
, BER_CLASS_CON
, 44, BER_FLAGS_NOOWNTAG
, dissect_z3950_AttributeList
},
2802 { &hf_z3950_term
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_z3950_Term
},
2803 { NULL
, 0, 0, 0, NULL
}
2807 dissect_z3950_AttributesPlusTerm_U(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2808 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
2809 AttributesPlusTerm_U_sequence
, hf_index
, ett_z3950_AttributesPlusTerm_U
);
2817 dissect_z3950_AttributesPlusTerm(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2818 offset
= dissect_ber_tagged_type(implicit_tag
, actx
, tree
, tvb
, offset
,
2819 hf_index
, BER_CLASS_CON
, 102, true, dissect_z3950_AttributesPlusTerm_U
);
2827 dissect_z3950_ResultSetId(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2828 offset
= dissect_ber_tagged_type(implicit_tag
, actx
, tree
, tvb
, offset
,
2829 hf_index
, BER_CLASS_CON
, 31, true, dissect_z3950_InternationalString
);
2835 static const ber_sequence_t ResultSetPlusAttributes_U_sequence
[] = {
2836 { &hf_z3950_resultSet
, BER_CLASS_CON
, 31, BER_FLAGS_NOOWNTAG
, dissect_z3950_ResultSetId
},
2837 { &hf_z3950_attributes
, BER_CLASS_CON
, 44, BER_FLAGS_NOOWNTAG
, dissect_z3950_AttributeList
},
2838 { NULL
, 0, 0, 0, NULL
}
2842 dissect_z3950_ResultSetPlusAttributes_U(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2843 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
2844 ResultSetPlusAttributes_U_sequence
, hf_index
, ett_z3950_ResultSetPlusAttributes_U
);
2852 dissect_z3950_ResultSetPlusAttributes(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2853 offset
= dissect_ber_tagged_type(implicit_tag
, actx
, tree
, tvb
, offset
,
2854 hf_index
, BER_CLASS_CON
, 214, true, dissect_z3950_ResultSetPlusAttributes_U
);
2860 static const value_string z3950_Operand_vals
[] = {
2861 { 102, "attrTerm" },
2862 { 31, "resultSet" },
2863 { 214, "resultAttr" },
2867 static const ber_choice_t Operand_choice
[] = {
2868 { 102, &hf_z3950_attrTerm
, BER_CLASS_CON
, 102, BER_FLAGS_NOOWNTAG
, dissect_z3950_AttributesPlusTerm
},
2869 { 31, &hf_z3950_resultSet
, BER_CLASS_CON
, 31, BER_FLAGS_NOOWNTAG
, dissect_z3950_ResultSetId
},
2870 { 214, &hf_z3950_resultAttr
, BER_CLASS_CON
, 214, BER_FLAGS_NOOWNTAG
, dissect_z3950_ResultSetPlusAttributes
},
2871 { 0, NULL
, 0, 0, 0, NULL
}
2875 dissect_z3950_Operand(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2876 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
2877 Operand_choice
, hf_index
, ett_z3950_Operand
,
2884 static const value_string z3950_T_relationType_vals
[] = {
2886 { 2, "lessThanOrEqual" },
2888 { 4, "greaterThanOrEqual" },
2889 { 5, "greaterThan" },
2896 dissect_z3950_T_relationType(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2897 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
2904 static const value_string z3950_KnownProximityUnit_vals
[] = {
2913 { 9, "subelement" },
2914 { 10, "elementType" },
2921 dissect_z3950_KnownProximityUnit(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2922 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
2929 static const value_string z3950_T_proximityUnitCode_vals
[] = {
2935 static const ber_choice_t T_proximityUnitCode_choice
[] = {
2936 { 1, &hf_z3950_known
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_KnownProximityUnit
},
2937 { 2, &hf_z3950_private
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
2938 { 0, NULL
, 0, 0, 0, NULL
}
2942 dissect_z3950_T_proximityUnitCode(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2943 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
2944 T_proximityUnitCode_choice
, hf_index
, ett_z3950_T_proximityUnitCode
,
2951 static const ber_sequence_t ProximityOperator_sequence
[] = {
2952 { &hf_z3950_exclusion
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_BOOLEAN
},
2953 { &hf_z3950_distance
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
2954 { &hf_z3950_ordered
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_z3950_BOOLEAN
},
2955 { &hf_z3950_relationType
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
, dissect_z3950_T_relationType
},
2956 { &hf_z3950_proximityUnitCode
, BER_CLASS_CON
, 5, 0, dissect_z3950_T_proximityUnitCode
},
2957 { NULL
, 0, 0, 0, NULL
}
2961 dissect_z3950_ProximityOperator(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2962 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
2963 ProximityOperator_sequence
, hf_index
, ett_z3950_ProximityOperator
);
2969 static const value_string z3950_Operator_U_vals
[] = {
2977 static const ber_choice_t Operator_U_choice
[] = {
2978 { 0, &hf_z3950_and
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_z3950_NULL
},
2979 { 1, &hf_z3950_or
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_NULL
},
2980 { 2, &hf_z3950_and_not
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_NULL
},
2981 { 3, &hf_z3950_prox
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_z3950_ProximityOperator
},
2982 { 0, NULL
, 0, 0, 0, NULL
}
2986 dissect_z3950_Operator_U(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2987 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
2988 Operator_U_choice
, hf_index
, ett_z3950_Operator_U
,
2997 dissect_z3950_Operator(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2998 offset
= dissect_ber_tagged_type(implicit_tag
, actx
, tree
, tvb
, offset
,
2999 hf_index
, BER_CLASS_CON
, 46, false, dissect_z3950_Operator_U
);
3005 static const ber_sequence_t T_rpnRpnOp_sequence
[] = {
3006 { &hf_z3950_rpn1
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_z3950_RPNStructure
},
3007 { &hf_z3950_rpn2
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_z3950_RPNStructure
},
3008 { &hf_z3950_operatorRpnOp
, BER_CLASS_CON
, 46, BER_FLAGS_NOOWNTAG
, dissect_z3950_Operator
},
3009 { NULL
, 0, 0, 0, NULL
}
3013 dissect_z3950_T_rpnRpnOp(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3014 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3015 T_rpnRpnOp_sequence
, hf_index
, ett_z3950_T_rpnRpnOp
);
3021 static const value_string z3950_RPNStructure_vals
[] = {
3027 static const ber_choice_t RPNStructure_choice
[] = {
3028 { 0, &hf_z3950_operandRpnOp
, BER_CLASS_CON
, 0, 0, dissect_z3950_Operand
},
3029 { 1, &hf_z3950_rpnRpnOp
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_T_rpnRpnOp
},
3030 { 0, NULL
, 0, 0, 0, NULL
}
3034 dissect_z3950_RPNStructure(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3035 // RPNStructure -> RPNStructure/rpnRpnOp -> RPNStructure
3036 actx
->pinfo
->dissection_depth
+= 2;
3037 increment_dissection_depth(actx
->pinfo
);
3038 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
3039 RPNStructure_choice
, hf_index
, ett_z3950_RPNStructure
,
3042 actx
->pinfo
->dissection_depth
-= 2;
3043 decrement_dissection_depth(actx
->pinfo
);
3048 static const ber_sequence_t RPNQuery_sequence
[] = {
3049 { &hf_z3950_attributeSet
, BER_CLASS_UNI
, BER_UNI_TAG_OID
, BER_FLAGS_NOOWNTAG
, dissect_z3950_AttributeSetId
},
3050 { &hf_z3950_rpn
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_z3950_RPNStructure
},
3051 { NULL
, 0, 0, 0, NULL
}
3055 dissect_z3950_RPNQuery(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3056 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3057 RPNQuery_sequence
, hf_index
, ett_z3950_RPNQuery
);
3063 static const value_string z3950_Query_vals
[] = {
3067 { 100, "type-100" },
3068 { 101, "type-101" },
3069 { 102, "type-102" },
3073 static const ber_choice_t Query_choice
[] = {
3074 { 0, &hf_z3950_type_0
, BER_CLASS_CON
, 0, 0, dissect_z3950_T_type_0
},
3075 { 1, &hf_z3950_type_1
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_RPNQuery
},
3076 { 2, &hf_z3950_type_2
, BER_CLASS_CON
, 2, 0, dissect_z3950_OCTET_STRING
},
3077 { 100, &hf_z3950_type_100
, BER_CLASS_CON
, 100, 0, dissect_z3950_OCTET_STRING
},
3078 { 101, &hf_z3950_type_101
, BER_CLASS_CON
, 101, BER_FLAGS_IMPLTAG
, dissect_z3950_RPNQuery
},
3079 { 102, &hf_z3950_type_102
, BER_CLASS_CON
, 102, 0, dissect_z3950_OCTET_STRING
},
3080 { 0, NULL
, 0, 0, 0, NULL
}
3084 dissect_z3950_Query(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3085 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
3086 Query_choice
, hf_index
, ett_z3950_Query
,
3093 static const ber_sequence_t SearchRequest_sequence
[] = {
3094 { &hf_z3950_referenceId
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_ReferenceId
},
3095 { &hf_z3950_smallSetUpperBound
, BER_CLASS_CON
, 13, BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
3096 { &hf_z3950_largeSetLowerBound
, BER_CLASS_CON
, 14, BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
3097 { &hf_z3950_mediumSetPresentNumber
, BER_CLASS_CON
, 15, BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
3098 { &hf_z3950_replaceIndicator
, BER_CLASS_CON
, 16, BER_FLAGS_IMPLTAG
, dissect_z3950_BOOLEAN
},
3099 { &hf_z3950_resultSetName
, BER_CLASS_CON
, 17, BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
3100 { &hf_z3950_databaseNames
, BER_CLASS_CON
, 18, BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_DatabaseName
},
3101 { &hf_z3950_smallSetElementSetNames
, BER_CLASS_CON
, 100, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOTCHKTAG
, dissect_z3950_ElementSetNames
},
3102 { &hf_z3950_mediumSetElementSetNames
, BER_CLASS_CON
, 101, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOTCHKTAG
, dissect_z3950_ElementSetNames
},
3103 { &hf_z3950_preferredRecordSyntax
, BER_CLASS_CON
, 104, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_OBJECT_IDENTIFIER
},
3104 { &hf_z3950_query
, BER_CLASS_CON
, 21, BER_FLAGS_NOTCHKTAG
, dissect_z3950_Query
},
3105 { &hf_z3950_additionalSearchInfo
, BER_CLASS_CON
, 203, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_OtherInformation
},
3106 { &hf_z3950_otherInfo
, BER_CLASS_CON
, 201, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_OtherInformation
},
3107 { NULL
, 0, 0, 0, NULL
}
3111 dissect_z3950_SearchRequest(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3112 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3113 SearchRequest_sequence
, hf_index
, ett_z3950_SearchRequest
);
3119 static const value_string z3950_T_search_resultSetStatus_vals
[] = {
3128 dissect_z3950_T_search_resultSetStatus(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3129 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
3136 static const value_string z3950_PresentStatus_U_vals
[] = {
3148 dissect_z3950_PresentStatus_U(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3149 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
3158 dissect_z3950_PresentStatus(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3159 offset
= dissect_ber_tagged_type(implicit_tag
, actx
, tree
, tvb
, offset
,
3160 hf_index
, BER_CLASS_CON
, 27, true, dissect_z3950_PresentStatus_U
);
3168 dissect_z3950_T_diagnosticSetId(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3169 tvbuff_t
*oid_tvb
=NULL
;
3171 offset
= dissect_ber_object_identifier(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
, &oid_tvb
);
3174 packet_info
*pinfo
= actx
->pinfo
;
3175 unsigned len
= tvb_reported_length_remaining(oid_tvb
, 0);
3176 char *oid_str
= oid_encoded2string(pinfo
->pool
,
3177 tvb_get_ptr(oid_tvb
, 0, len
), len
);
3178 int diagset_idx
= Z3950_DIAGSET_UNKNOWN
;
3179 z3950_diaginfo_t
*diaginfo_data
;
3181 if (g_strcmp0(oid_str
, Z3950_DIAGSET_BIB1_OID
) == 0) {
3182 diagset_idx
= Z3950_DIAGSET_BIB1
;
3184 if ((diaginfo_data
= (z3950_diaginfo_t
*)p_get_proto_data(pinfo
->pool
, pinfo
, proto_z3950
, Z3950_DIAGSET_KEY
)) == NULL
) {
3186 diaginfo_data
= wmem_new0(pinfo
->pool
, z3950_diaginfo_t
);
3187 diaginfo_data
->diagsetidx
= diagset_idx
;
3188 p_add_proto_data(pinfo
->pool
, pinfo
,
3189 proto_z3950
, Z3950_DIAGSET_KEY
, diaginfo_data
);
3192 diaginfo_data
->diagsetidx
= diagset_idx
;
3202 dissect_z3950_T_condition(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3203 int diag_condition
=0;
3204 packet_info
*pinfo
= actx
->pinfo
;
3205 z3950_diaginfo_t
*diaginfo_data
;
3206 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
3209 diaginfo_data
= (z3950_diaginfo_t
*)p_get_proto_data(pinfo
->pool
, pinfo
, proto_z3950
, Z3950_DIAGSET_KEY
);
3210 if (diaginfo_data
&& diaginfo_data
->diagsetidx
== Z3950_DIAGSET_BIB1
) {
3211 proto_item_append_text(actx
->created_item
, " (%s)",
3212 val_to_str(diag_condition
, z3950_bib1_diagconditions
, "Unknown bib-1 diagnostic %d"));
3213 diaginfo_data
->diagcondition
= diag_condition
;
3219 static const value_string z3950_T_addinfo_vals
[] = {
3225 static const ber_choice_t T_addinfo_choice
[] = {
3226 { 0, &hf_z3950_v2Addinfo
, BER_CLASS_UNI
, BER_UNI_TAG_VisibleString
, BER_FLAGS_NOOWNTAG
, dissect_z3950_VisibleString
},
3227 { 1, &hf_z3950_v3Addinfo
, BER_CLASS_UNI
, BER_UNI_TAG_GeneralString
, BER_FLAGS_NOOWNTAG
, dissect_z3950_InternationalString
},
3228 { 0, NULL
, 0, 0, 0, NULL
}
3232 dissect_z3950_T_addinfo(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3233 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
3234 T_addinfo_choice
, hf_index
, ett_z3950_T_addinfo
,
3241 static const ber_sequence_t DefaultDiagFormat_sequence
[] = {
3242 { &hf_z3950_diagnosticSetId
, BER_CLASS_UNI
, BER_UNI_TAG_OID
, BER_FLAGS_NOOWNTAG
, dissect_z3950_T_diagnosticSetId
},
3243 { &hf_z3950_condition
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_NOOWNTAG
, dissect_z3950_T_condition
},
3244 { &hf_z3950_addinfo
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_z3950_T_addinfo
},
3245 { NULL
, 0, 0, 0, NULL
}
3249 dissect_z3950_DefaultDiagFormat(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3250 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3251 DefaultDiagFormat_sequence
, hf_index
, ett_z3950_DefaultDiagFormat
);
3257 static const value_string z3950_DiagRec_vals
[] = {
3258 { 0, "defaultFormat" },
3259 { 1, "externallyDefined" },
3263 static const ber_choice_t DiagRec_choice
[] = {
3264 { 0, &hf_z3950_defaultFormat
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_DefaultDiagFormat
},
3265 { 1, &hf_z3950_externallyDefined
, BER_CLASS_UNI
, BER_UNI_TAG_EXTERNAL
, BER_FLAGS_NOOWNTAG
, dissect_z3950_EXTERNAL
},
3266 { 0, NULL
, 0, 0, 0, NULL
}
3270 dissect_z3950_DiagRec(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3271 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
3272 DiagRec_choice
, hf_index
, ett_z3950_DiagRec
,
3279 static const value_string z3950_FragmentSyntax_vals
[] = {
3280 { 0, "externallyTagged" },
3281 { 1, "notExternallyTagged" },
3285 static const ber_choice_t FragmentSyntax_choice
[] = {
3286 { 0, &hf_z3950_externallyTagged
, BER_CLASS_UNI
, BER_UNI_TAG_EXTERNAL
, BER_FLAGS_NOOWNTAG
, dissect_z3950_EXTERNAL
},
3287 { 1, &hf_z3950_notExternallyTagged
, BER_CLASS_UNI
, BER_UNI_TAG_OCTETSTRING
, BER_FLAGS_NOOWNTAG
, dissect_z3950_OCTET_STRING
},
3288 { 0, NULL
, 0, 0, 0, NULL
}
3292 dissect_z3950_FragmentSyntax(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3293 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
3294 FragmentSyntax_choice
, hf_index
, ett_z3950_FragmentSyntax
,
3301 static const value_string z3950_T_record_vals
[] = {
3302 { 1, "retrievalRecord" },
3303 { 2, "surrogateDiagnostic" },
3304 { 3, "startingFragment" },
3305 { 4, "intermediateFragment" },
3306 { 5, "finalFragment" },
3310 static const ber_choice_t T_record_choice
[] = {
3311 { 1, &hf_z3950_retrievalRecord
, BER_CLASS_CON
, 1, 0, dissect_z3950_EXTERNAL
},
3312 { 2, &hf_z3950_surrogateDiagnostic
, BER_CLASS_CON
, 2, 0, dissect_z3950_DiagRec
},
3313 { 3, &hf_z3950_startingFragment
, BER_CLASS_CON
, 3, 0, dissect_z3950_FragmentSyntax
},
3314 { 4, &hf_z3950_intermediateFragment
, BER_CLASS_CON
, 4, 0, dissect_z3950_FragmentSyntax
},
3315 { 5, &hf_z3950_finalFragment
, BER_CLASS_CON
, 5, 0, dissect_z3950_FragmentSyntax
},
3316 { 0, NULL
, 0, 0, 0, NULL
}
3320 dissect_z3950_T_record(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3321 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
3322 T_record_choice
, hf_index
, ett_z3950_T_record
,
3329 static const ber_sequence_t NamePlusRecord_sequence
[] = {
3330 { &hf_z3950_namePlusRecord_name
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_DatabaseName
},
3331 { &hf_z3950_record
, BER_CLASS_CON
, 1, 0, dissect_z3950_T_record
},
3332 { NULL
, 0, 0, 0, NULL
}
3336 dissect_z3950_NamePlusRecord(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3337 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3338 NamePlusRecord_sequence
, hf_index
, ett_z3950_NamePlusRecord
);
3344 static const ber_sequence_t SEQUENCE_OF_NamePlusRecord_sequence_of
[1] = {
3345 { &hf_z3950_segmentRecords_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_NamePlusRecord
},
3349 dissect_z3950_SEQUENCE_OF_NamePlusRecord(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3350 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
3351 SEQUENCE_OF_NamePlusRecord_sequence_of
, hf_index
, ett_z3950_SEQUENCE_OF_NamePlusRecord
);
3357 static const ber_sequence_t SEQUENCE_OF_DiagRec_sequence_of
[1] = {
3358 { &hf_z3950_multipleNonSurDiagnostics_item
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_z3950_DiagRec
},
3362 dissect_z3950_SEQUENCE_OF_DiagRec(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3363 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
3364 SEQUENCE_OF_DiagRec_sequence_of
, hf_index
, ett_z3950_SEQUENCE_OF_DiagRec
);
3370 static const value_string z3950_Records_vals
[] = {
3371 { 28, "responseRecords" },
3372 { 130, "nonSurrogateDiagnostic" },
3373 { 205, "multipleNonSurDiagnostics" },
3377 static const ber_choice_t Records_choice
[] = {
3378 { 28, &hf_z3950_responseRecords
, BER_CLASS_CON
, 28, BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_NamePlusRecord
},
3379 { 130, &hf_z3950_nonSurrogateDiagnostic
, BER_CLASS_CON
, 130, BER_FLAGS_IMPLTAG
, dissect_z3950_DefaultDiagFormat
},
3380 { 205, &hf_z3950_multipleNonSurDiagnostics
, BER_CLASS_CON
, 205, BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_DiagRec
},
3381 { 0, NULL
, 0, 0, 0, NULL
}
3385 dissect_z3950_Records(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3386 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
3387 Records_choice
, hf_index
, ett_z3950_Records
,
3394 static const ber_sequence_t SearchResponse_sequence
[] = {
3395 { &hf_z3950_referenceId
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_ReferenceId
},
3396 { &hf_z3950_resultCount
, BER_CLASS_CON
, 23, BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
3397 { &hf_z3950_numberOfRecordsReturned
, BER_CLASS_CON
, 24, BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
3398 { &hf_z3950_nextResultSetPosition
, BER_CLASS_CON
, 25, BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
3399 { &hf_z3950_searchStatus
, BER_CLASS_CON
, 22, BER_FLAGS_IMPLTAG
, dissect_z3950_BOOLEAN
},
3400 { &hf_z3950_search_resultSetStatus
, BER_CLASS_CON
, 26, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_T_search_resultSetStatus
},
3401 { &hf_z3950_presentStatus
, BER_CLASS_CON
, 27, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_PresentStatus
},
3402 { &hf_z3950_records
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_z3950_Records
},
3403 { &hf_z3950_additionalSearchInfo
, BER_CLASS_CON
, 203, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_OtherInformation
},
3404 { &hf_z3950_otherInfo
, BER_CLASS_CON
, 201, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_OtherInformation
},
3405 { NULL
, 0, 0, 0, NULL
}
3409 dissect_z3950_SearchResponse(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3410 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3411 SearchResponse_sequence
, hf_index
, ett_z3950_SearchResponse
);
3417 static const ber_sequence_t Range_sequence
[] = {
3418 { &hf_z3950_startingPosition
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
3419 { &hf_z3950_numberOfRecords
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
3420 { NULL
, 0, 0, 0, NULL
}
3424 dissect_z3950_Range(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3425 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3426 Range_sequence
, hf_index
, ett_z3950_Range
);
3432 static const ber_sequence_t SEQUENCE_OF_Range_sequence_of
[1] = {
3433 { &hf_z3950_additionalRanges_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_Range
},
3437 dissect_z3950_SEQUENCE_OF_Range(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3438 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
3439 SEQUENCE_OF_Range_sequence_of
, hf_index
, ett_z3950_SEQUENCE_OF_Range
);
3445 static const value_string z3950_T_specification_elementSpec_vals
[] = {
3446 { 1, "elementSetName" },
3447 { 2, "externalEspec" },
3451 static const ber_choice_t T_specification_elementSpec_choice
[] = {
3452 { 1, &hf_z3950_elementSetName
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
3453 { 2, &hf_z3950_externalEspec
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_EXTERNAL
},
3454 { 0, NULL
, 0, 0, 0, NULL
}
3458 dissect_z3950_T_specification_elementSpec(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3459 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
3460 T_specification_elementSpec_choice
, hf_index
, ett_z3950_T_specification_elementSpec
,
3467 static const ber_sequence_t Specification_sequence
[] = {
3468 { &hf_z3950_schema
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_OBJECT_IDENTIFIER
},
3469 { &hf_z3950_specification_elementSpec
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
, dissect_z3950_T_specification_elementSpec
},
3470 { NULL
, 0, 0, 0, NULL
}
3474 dissect_z3950_Specification(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3475 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3476 Specification_sequence
, hf_index
, ett_z3950_Specification
);
3482 static const ber_sequence_t T_dbSpecific_item_sequence
[] = {
3483 { &hf_z3950_db
, BER_CLASS_CON
, 1, 0, dissect_z3950_DatabaseName
},
3484 { &hf_z3950_spec
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_Specification
},
3485 { NULL
, 0, 0, 0, NULL
}
3489 dissect_z3950_T_dbSpecific_item(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3490 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3491 T_dbSpecific_item_sequence
, hf_index
, ett_z3950_T_dbSpecific_item
);
3497 static const ber_sequence_t T_dbSpecific_sequence_of
[1] = {
3498 { &hf_z3950_dbSpecific_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_T_dbSpecific_item
},
3502 dissect_z3950_T_dbSpecific(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3503 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
3504 T_dbSpecific_sequence_of
, hf_index
, ett_z3950_T_dbSpecific
);
3510 static const ber_sequence_t T_compSpec_recordSyntax_sequence_of
[1] = {
3511 { &hf_z3950_compSpec_recordSyntax_item
, BER_CLASS_UNI
, BER_UNI_TAG_OID
, BER_FLAGS_NOOWNTAG
, dissect_z3950_OBJECT_IDENTIFIER
},
3515 dissect_z3950_T_compSpec_recordSyntax(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3516 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
3517 T_compSpec_recordSyntax_sequence_of
, hf_index
, ett_z3950_T_compSpec_recordSyntax
);
3523 static const ber_sequence_t CompSpec_sequence
[] = {
3524 { &hf_z3950_selectAlternativeSyntax
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_BOOLEAN
},
3525 { &hf_z3950_compSpec_generic
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_Specification
},
3526 { &hf_z3950_dbSpecific
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_T_dbSpecific
},
3527 { &hf_z3950_compSpec_recordSyntax
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_T_compSpec_recordSyntax
},
3528 { NULL
, 0, 0, 0, NULL
}
3532 dissect_z3950_CompSpec(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3533 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3534 CompSpec_sequence
, hf_index
, ett_z3950_CompSpec
);
3540 static const value_string z3950_T_recordComposition_vals
[] = {
3546 static const ber_choice_t T_recordComposition_choice
[] = {
3547 { 19, &hf_z3950_simple
, BER_CLASS_CON
, 19, 0, dissect_z3950_ElementSetNames
},
3548 { 209, &hf_z3950_recordComposition_complex
, BER_CLASS_CON
, 209, BER_FLAGS_IMPLTAG
, dissect_z3950_CompSpec
},
3549 { 0, NULL
, 0, 0, 0, NULL
}
3553 dissect_z3950_T_recordComposition(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3554 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
3555 T_recordComposition_choice
, hf_index
, ett_z3950_T_recordComposition
,
3562 static const ber_sequence_t PresentRequest_sequence
[] = {
3563 { &hf_z3950_referenceId
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_ReferenceId
},
3564 { &hf_z3950_resultSetId
, BER_CLASS_CON
, 31, BER_FLAGS_NOOWNTAG
, dissect_z3950_ResultSetId
},
3565 { &hf_z3950_resultSetStartPoint
, BER_CLASS_CON
, 30, BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
3566 { &hf_z3950_numberOfRecordsRequested
, BER_CLASS_CON
, 29, BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
3567 { &hf_z3950_additionalRanges
, BER_CLASS_CON
, 212, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_Range
},
3568 { &hf_z3950_recordComposition
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_z3950_T_recordComposition
},
3569 { &hf_z3950_preferredRecordSyntax
, BER_CLASS_CON
, 104, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_OBJECT_IDENTIFIER
},
3570 { &hf_z3950_maxSegmentCount
, BER_CLASS_CON
, 204, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
3571 { &hf_z3950_maxRecordSize
, BER_CLASS_CON
, 206, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
3572 { &hf_z3950_maxSegmentSize
, BER_CLASS_CON
, 207, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
3573 { &hf_z3950_otherInfo
, BER_CLASS_CON
, 201, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_OtherInformation
},
3574 { NULL
, 0, 0, 0, NULL
}
3578 dissect_z3950_PresentRequest(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3579 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3580 PresentRequest_sequence
, hf_index
, ett_z3950_PresentRequest
);
3586 static const ber_sequence_t PresentResponse_sequence
[] = {
3587 { &hf_z3950_referenceId
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_ReferenceId
},
3588 { &hf_z3950_numberOfRecordsReturned
, BER_CLASS_CON
, 24, BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
3589 { &hf_z3950_nextResultSetPosition
, BER_CLASS_CON
, 25, BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
3590 { &hf_z3950_presentStatus
, BER_CLASS_CON
, 27, BER_FLAGS_NOOWNTAG
, dissect_z3950_PresentStatus
},
3591 { &hf_z3950_records
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_z3950_Records
},
3592 { &hf_z3950_otherInfo
, BER_CLASS_CON
, 201, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_OtherInformation
},
3593 { NULL
, 0, 0, 0, NULL
}
3597 dissect_z3950_PresentResponse(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3598 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3599 PresentResponse_sequence
, hf_index
, ett_z3950_PresentResponse
);
3605 static const value_string z3950_T_deleteFunction_vals
[] = {
3613 dissect_z3950_T_deleteFunction(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3614 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
3621 static const ber_sequence_t SEQUENCE_OF_ResultSetId_sequence_of
[1] = {
3622 { &hf_z3950_resultSetList_item
, BER_CLASS_CON
, 31, BER_FLAGS_NOOWNTAG
, dissect_z3950_ResultSetId
},
3626 dissect_z3950_SEQUENCE_OF_ResultSetId(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3627 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
3628 SEQUENCE_OF_ResultSetId_sequence_of
, hf_index
, ett_z3950_SEQUENCE_OF_ResultSetId
);
3634 static const ber_sequence_t DeleteResultSetRequest_sequence
[] = {
3635 { &hf_z3950_referenceId
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_ReferenceId
},
3636 { &hf_z3950_deleteFunction
, BER_CLASS_CON
, 32, BER_FLAGS_IMPLTAG
, dissect_z3950_T_deleteFunction
},
3637 { &hf_z3950_resultSetList
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_SEQUENCE_OF_ResultSetId
},
3638 { &hf_z3950_otherInfo
, BER_CLASS_CON
, 201, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_OtherInformation
},
3639 { NULL
, 0, 0, 0, NULL
}
3643 dissect_z3950_DeleteResultSetRequest(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3644 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3645 DeleteResultSetRequest_sequence
, hf_index
, ett_z3950_DeleteResultSetRequest
);
3651 static const value_string z3950_DeleteSetStatus_U_vals
[] = {
3653 { 1, "resultSetDidNotExist" },
3654 { 2, "previouslyDeletedByTarget" },
3655 { 3, "systemProblemAtTarget" },
3656 { 4, "accessNotAllowed" },
3657 { 5, "resourceControlAtOrigin" },
3658 { 6, "resourceControlAtTarget" },
3659 { 7, "bulkDeleteNotSupported" },
3660 { 8, "notAllRsltSetsDeletedOnBulkDlte" },
3661 { 9, "notAllRequestedResultSetsDeleted" },
3662 { 10, "resultSetInUse" },
3668 dissect_z3950_DeleteSetStatus_U(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3669 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
3678 dissect_z3950_DeleteSetStatus(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3679 offset
= dissect_ber_tagged_type(implicit_tag
, actx
, tree
, tvb
, offset
,
3680 hf_index
, BER_CLASS_CON
, 33, true, dissect_z3950_DeleteSetStatus_U
);
3686 static const ber_sequence_t ListStatuses_item_sequence
[] = {
3687 { &hf_z3950_listStatuses_id
, BER_CLASS_CON
, 31, BER_FLAGS_NOOWNTAG
, dissect_z3950_ResultSetId
},
3688 { &hf_z3950_status
, BER_CLASS_CON
, 33, BER_FLAGS_NOOWNTAG
, dissect_z3950_DeleteSetStatus
},
3689 { NULL
, 0, 0, 0, NULL
}
3693 dissect_z3950_ListStatuses_item(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3694 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3695 ListStatuses_item_sequence
, hf_index
, ett_z3950_ListStatuses_item
);
3701 static const ber_sequence_t ListStatuses_sequence_of
[1] = {
3702 { &hf_z3950_ListStatuses_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_ListStatuses_item
},
3706 dissect_z3950_ListStatuses(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3707 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
3708 ListStatuses_sequence_of
, hf_index
, ett_z3950_ListStatuses
);
3714 static const ber_sequence_t DeleteResultSetResponse_sequence
[] = {
3715 { &hf_z3950_referenceId
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_ReferenceId
},
3716 { &hf_z3950_deleteOperationStatus
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_z3950_DeleteSetStatus
},
3717 { &hf_z3950_deleteListStatuses
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_ListStatuses
},
3718 { &hf_z3950_numberNotDeleted
, BER_CLASS_CON
, 34, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
3719 { &hf_z3950_bulkStatuses
, BER_CLASS_CON
, 35, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_ListStatuses
},
3720 { &hf_z3950_deleteMessage
, BER_CLASS_CON
, 36, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
3721 { &hf_z3950_otherInfo
, BER_CLASS_CON
, 201, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_OtherInformation
},
3722 { NULL
, 0, 0, 0, NULL
}
3726 dissect_z3950_DeleteResultSetResponse(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3727 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3728 DeleteResultSetResponse_sequence
, hf_index
, ett_z3950_DeleteResultSetResponse
);
3734 static const value_string z3950_T_securityChallenge_vals
[] = {
3735 { 37, "simpleForm" },
3736 { 0, "externallyDefined" },
3740 static const ber_choice_t T_securityChallenge_choice
[] = {
3741 { 37, &hf_z3950_simpleForm
, BER_CLASS_CON
, 37, BER_FLAGS_IMPLTAG
, dissect_z3950_OCTET_STRING
},
3742 { 0, &hf_z3950_externallyDefined
, BER_CLASS_CON
, 0, 0, dissect_z3950_EXTERNAL
},
3743 { 0, NULL
, 0, 0, 0, NULL
}
3747 dissect_z3950_T_securityChallenge(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3748 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
3749 T_securityChallenge_choice
, hf_index
, ett_z3950_T_securityChallenge
,
3756 static const ber_sequence_t AccessControlRequest_sequence
[] = {
3757 { &hf_z3950_referenceId
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_ReferenceId
},
3758 { &hf_z3950_securityChallenge
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_z3950_T_securityChallenge
},
3759 { &hf_z3950_otherInfo
, BER_CLASS_CON
, 201, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_OtherInformation
},
3760 { NULL
, 0, 0, 0, NULL
}
3764 dissect_z3950_AccessControlRequest(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3765 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3766 AccessControlRequest_sequence
, hf_index
, ett_z3950_AccessControlRequest
);
3772 static const value_string z3950_T_securityChallengeResponse_vals
[] = {
3773 { 38, "simpleForm" },
3774 { 0, "externallyDefined" },
3778 static const ber_choice_t T_securityChallengeResponse_choice
[] = {
3779 { 38, &hf_z3950_simpleForm
, BER_CLASS_CON
, 38, BER_FLAGS_IMPLTAG
, dissect_z3950_OCTET_STRING
},
3780 { 0, &hf_z3950_externallyDefined
, BER_CLASS_CON
, 0, 0, dissect_z3950_EXTERNAL
},
3781 { 0, NULL
, 0, 0, 0, NULL
}
3785 dissect_z3950_T_securityChallengeResponse(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3786 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
3787 T_securityChallengeResponse_choice
, hf_index
, ett_z3950_T_securityChallengeResponse
,
3794 static const ber_sequence_t AccessControlResponse_sequence
[] = {
3795 { &hf_z3950_referenceId
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_ReferenceId
},
3796 { &hf_z3950_securityChallengeResponse
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_z3950_T_securityChallengeResponse
},
3797 { &hf_z3950_diagnostic
, BER_CLASS_CON
, 223, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOTCHKTAG
, dissect_z3950_DiagRec
},
3798 { &hf_z3950_otherInfo
, BER_CLASS_CON
, 201, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_OtherInformation
},
3799 { NULL
, 0, 0, 0, NULL
}
3803 dissect_z3950_AccessControlResponse(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3804 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3805 AccessControlResponse_sequence
, hf_index
, ett_z3950_AccessControlResponse
);
3813 dissect_z3950_ResourceReport(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3814 offset
= dissect_ber_external_type(implicit_tag
, tree
, tvb
, offset
, actx
, hf_index
, NULL
);
3820 static const value_string z3950_T_partialResultsAvailable_vals
[] = {
3829 dissect_z3950_T_partialResultsAvailable(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3830 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
3837 static const ber_sequence_t ResourceControlRequest_sequence
[] = {
3838 { &hf_z3950_referenceId
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_ReferenceId
},
3839 { &hf_z3950_suspendedFlag
, BER_CLASS_CON
, 39, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_BOOLEAN
},
3840 { &hf_z3950_resourceReport
, BER_CLASS_CON
, 40, BER_FLAGS_OPTIONAL
, dissect_z3950_ResourceReport
},
3841 { &hf_z3950_partialResultsAvailable
, BER_CLASS_CON
, 41, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_T_partialResultsAvailable
},
3842 { &hf_z3950_resourceControlRequest_responseRequired
, BER_CLASS_CON
, 42, BER_FLAGS_IMPLTAG
, dissect_z3950_BOOLEAN
},
3843 { &hf_z3950_triggeredRequestFlag
, BER_CLASS_CON
, 43, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_BOOLEAN
},
3844 { &hf_z3950_otherInfo
, BER_CLASS_CON
, 201, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_OtherInformation
},
3845 { NULL
, 0, 0, 0, NULL
}
3849 dissect_z3950_ResourceControlRequest(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3850 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3851 ResourceControlRequest_sequence
, hf_index
, ett_z3950_ResourceControlRequest
);
3857 static const ber_sequence_t ResourceControlResponse_sequence
[] = {
3858 { &hf_z3950_referenceId
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_ReferenceId
},
3859 { &hf_z3950_continueFlag
, BER_CLASS_CON
, 44, BER_FLAGS_IMPLTAG
, dissect_z3950_BOOLEAN
},
3860 { &hf_z3950_resultSetWanted
, BER_CLASS_CON
, 45, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_BOOLEAN
},
3861 { &hf_z3950_otherInfo
, BER_CLASS_CON
, 201, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_OtherInformation
},
3862 { NULL
, 0, 0, 0, NULL
}
3866 dissect_z3950_ResourceControlResponse(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3867 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3868 ResourceControlResponse_sequence
, hf_index
, ett_z3950_ResourceControlResponse
);
3874 static const value_string z3950_T_requestedAction_vals
[] = {
3875 { 1, "resourceReport" },
3876 { 2, "resourceControl" },
3883 dissect_z3950_T_requestedAction(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3884 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
3893 dissect_z3950_ResourceReportId(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3894 offset
= dissect_ber_object_identifier(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
, NULL
);
3900 static const ber_sequence_t TriggerResourceControlRequest_sequence
[] = {
3901 { &hf_z3950_referenceId
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_ReferenceId
},
3902 { &hf_z3950_requestedAction
, BER_CLASS_CON
, 46, BER_FLAGS_IMPLTAG
, dissect_z3950_T_requestedAction
},
3903 { &hf_z3950_prefResourceReportFormat
, BER_CLASS_CON
, 47, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_ResourceReportId
},
3904 { &hf_z3950_resultSetWanted
, BER_CLASS_CON
, 48, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_BOOLEAN
},
3905 { &hf_z3950_otherInfo
, BER_CLASS_CON
, 201, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_OtherInformation
},
3906 { NULL
, 0, 0, 0, NULL
}
3910 dissect_z3950_TriggerResourceControlRequest(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3911 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3912 TriggerResourceControlRequest_sequence
, hf_index
, ett_z3950_TriggerResourceControlRequest
);
3918 static const ber_sequence_t ResourceReportRequest_sequence
[] = {
3919 { &hf_z3950_referenceId
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_ReferenceId
},
3920 { &hf_z3950_opId
, BER_CLASS_CON
, 210, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_ReferenceId
},
3921 { &hf_z3950_prefResourceReportFormat
, BER_CLASS_CON
, 49, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_ResourceReportId
},
3922 { &hf_z3950_otherInfo
, BER_CLASS_CON
, 201, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_OtherInformation
},
3923 { NULL
, 0, 0, 0, NULL
}
3927 dissect_z3950_ResourceReportRequest(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3928 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3929 ResourceReportRequest_sequence
, hf_index
, ett_z3950_ResourceReportRequest
);
3935 static const value_string z3950_T_resourceReportStatus_vals
[] = {
3949 dissect_z3950_T_resourceReportStatus(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3950 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
3957 static const ber_sequence_t ResourceReportResponse_sequence
[] = {
3958 { &hf_z3950_referenceId
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_ReferenceId
},
3959 { &hf_z3950_resourceReportStatus
, BER_CLASS_CON
, 50, BER_FLAGS_IMPLTAG
, dissect_z3950_T_resourceReportStatus
},
3960 { &hf_z3950_resourceReport
, BER_CLASS_CON
, 51, BER_FLAGS_OPTIONAL
, dissect_z3950_ResourceReport
},
3961 { &hf_z3950_otherInfo
, BER_CLASS_CON
, 201, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_OtherInformation
},
3962 { NULL
, 0, 0, 0, NULL
}
3966 dissect_z3950_ResourceReportResponse(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3967 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3968 ResourceReportResponse_sequence
, hf_index
, ett_z3950_ResourceReportResponse
);
3974 static const ber_sequence_t ScanRequest_sequence
[] = {
3975 { &hf_z3950_referenceId
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_ReferenceId
},
3976 { &hf_z3950_databaseNames
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_DatabaseName
},
3977 { &hf_z3950_attributeSet
, BER_CLASS_UNI
, BER_UNI_TAG_OID
, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_AttributeSetId
},
3978 { &hf_z3950_termListAndStartPoint
, BER_CLASS_CON
, 102, BER_FLAGS_NOOWNTAG
, dissect_z3950_AttributesPlusTerm
},
3979 { &hf_z3950_stepSize
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
3980 { &hf_z3950_numberOfTermsRequested
, BER_CLASS_CON
, 6, BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
3981 { &hf_z3950_preferredPositionInResponse
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
3982 { &hf_z3950_otherInfo
, BER_CLASS_CON
, 201, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_OtherInformation
},
3983 { NULL
, 0, 0, 0, NULL
}
3987 dissect_z3950_ScanRequest(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3988 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3989 ScanRequest_sequence
, hf_index
, ett_z3950_ScanRequest
);
3995 static const value_string z3950_T_scanStatus_vals
[] = {
4008 dissect_z3950_T_scanStatus(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4009 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
4016 static const ber_sequence_t SEQUENCE_OF_AttributesPlusTerm_sequence_of
[1] = {
4017 { &hf_z3950_alternativeTerm_item
, BER_CLASS_CON
, 102, BER_FLAGS_NOOWNTAG
, dissect_z3950_AttributesPlusTerm
},
4021 dissect_z3950_SEQUENCE_OF_AttributesPlusTerm(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4022 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
4023 SEQUENCE_OF_AttributesPlusTerm_sequence_of
, hf_index
, ett_z3950_SEQUENCE_OF_AttributesPlusTerm
);
4029 static const ber_sequence_t T_byDatabase_item_sequence
[] = {
4030 { &hf_z3950_db
, BER_CLASS_CON
, 105, BER_FLAGS_NOOWNTAG
, dissect_z3950_DatabaseName
},
4031 { &hf_z3950_num
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
4032 { &hf_z3950_otherDbInfo
, BER_CLASS_CON
, 201, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_OtherInformation
},
4033 { NULL
, 0, 0, 0, NULL
}
4037 dissect_z3950_T_byDatabase_item(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4038 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4039 T_byDatabase_item_sequence
, hf_index
, ett_z3950_T_byDatabase_item
);
4045 static const ber_sequence_t T_byDatabase_sequence_of
[1] = {
4046 { &hf_z3950_byDatabase_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_T_byDatabase_item
},
4050 dissect_z3950_T_byDatabase(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4051 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
4052 T_byDatabase_sequence_of
, hf_index
, ett_z3950_T_byDatabase
);
4058 static const value_string z3950_T_occurrences_vals
[] = {
4060 { 3, "byDatabase" },
4064 static const ber_choice_t T_occurrences_choice
[] = {
4065 { 2, &hf_z3950_global
, BER_CLASS_CON
, 2, 0, dissect_z3950_INTEGER
},
4066 { 3, &hf_z3950_byDatabase
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_z3950_T_byDatabase
},
4067 { 0, NULL
, 0, 0, 0, NULL
}
4071 dissect_z3950_T_occurrences(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4072 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
4073 T_occurrences_choice
, hf_index
, ett_z3950_T_occurrences
,
4080 static const ber_sequence_t OccurrenceByAttributes_item_sequence
[] = {
4081 { &hf_z3950_attributes
, BER_CLASS_CON
, 1, 0, dissect_z3950_AttributeList
},
4082 { &hf_z3950_occurrences
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_z3950_T_occurrences
},
4083 { &hf_z3950_otherOccurInfo
, BER_CLASS_CON
, 201, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_OtherInformation
},
4084 { NULL
, 0, 0, 0, NULL
}
4088 dissect_z3950_OccurrenceByAttributes_item(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4089 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4090 OccurrenceByAttributes_item_sequence
, hf_index
, ett_z3950_OccurrenceByAttributes_item
);
4096 static const ber_sequence_t OccurrenceByAttributes_sequence_of
[1] = {
4097 { &hf_z3950_OccurrenceByAttributes_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_OccurrenceByAttributes_item
},
4101 dissect_z3950_OccurrenceByAttributes(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4102 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
4103 OccurrenceByAttributes_sequence_of
, hf_index
, ett_z3950_OccurrenceByAttributes
);
4109 static const ber_sequence_t TermInfo_sequence
[] = {
4110 { &hf_z3950_term
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_z3950_Term
},
4111 { &hf_z3950_displayTerm
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
4112 { &hf_z3950_suggestedAttributes
, BER_CLASS_CON
, 44, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_AttributeList
},
4113 { &hf_z3950_alternativeTerm
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_AttributesPlusTerm
},
4114 { &hf_z3950_globalOccurrences
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
4115 { &hf_z3950_byAttributes
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_OccurrenceByAttributes
},
4116 { &hf_z3950_otherTermInfo
, BER_CLASS_CON
, 201, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_OtherInformation
},
4117 { NULL
, 0, 0, 0, NULL
}
4121 dissect_z3950_TermInfo(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4122 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4123 TermInfo_sequence
, hf_index
, ett_z3950_TermInfo
);
4129 static const value_string z3950_Entry_vals
[] = {
4131 { 2, "surrogateDiagnostic" },
4135 static const ber_choice_t Entry_choice
[] = {
4136 { 1, &hf_z3950_termInfo
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_TermInfo
},
4137 { 2, &hf_z3950_surrogateDiagnostic
, BER_CLASS_CON
, 2, 0, dissect_z3950_DiagRec
},
4138 { 0, NULL
, 0, 0, 0, NULL
}
4142 dissect_z3950_Entry(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4143 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
4144 Entry_choice
, hf_index
, ett_z3950_Entry
,
4151 static const ber_sequence_t SEQUENCE_OF_Entry_sequence_of
[1] = {
4152 { &hf_z3950_listEntries_entries_item
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_z3950_Entry
},
4156 dissect_z3950_SEQUENCE_OF_Entry(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4157 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
4158 SEQUENCE_OF_Entry_sequence_of
, hf_index
, ett_z3950_SEQUENCE_OF_Entry
);
4164 static const ber_sequence_t ListEntries_sequence
[] = {
4165 { &hf_z3950_listEntries_entries
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_Entry
},
4166 { &hf_z3950_nonsurrogateDiagnostics
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_DiagRec
},
4167 { NULL
, 0, 0, 0, NULL
}
4171 dissect_z3950_ListEntries(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4172 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4173 ListEntries_sequence
, hf_index
, ett_z3950_ListEntries
);
4179 static const ber_sequence_t ScanResponse_sequence
[] = {
4180 { &hf_z3950_referenceId
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_ReferenceId
},
4181 { &hf_z3950_stepSize
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
4182 { &hf_z3950_scanStatus
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
, dissect_z3950_T_scanStatus
},
4183 { &hf_z3950_numberOfEntriesReturned
, BER_CLASS_CON
, 5, BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
4184 { &hf_z3950_positionOfTerm
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
4185 { &hf_z3950_scanResponse_entries
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_ListEntries
},
4186 { &hf_z3950_attributeSet
, BER_CLASS_CON
, 8, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_AttributeSetId
},
4187 { &hf_z3950_otherInfo
, BER_CLASS_CON
, 201, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_OtherInformation
},
4188 { NULL
, 0, 0, 0, NULL
}
4192 dissect_z3950_ScanResponse(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4193 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4194 ScanResponse_sequence
, hf_index
, ett_z3950_ScanResponse
);
4200 static const ber_sequence_t SEQUENCE_OF_InternationalString_sequence_of
[1] = {
4201 { &hf_z3950_inputResultSetNames_item
, BER_CLASS_UNI
, BER_UNI_TAG_GeneralString
, BER_FLAGS_NOOWNTAG
, dissect_z3950_InternationalString
},
4205 dissect_z3950_SEQUENCE_OF_InternationalString(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4206 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
4207 SEQUENCE_OF_InternationalString_sequence_of
, hf_index
, ett_z3950_SEQUENCE_OF_InternationalString
);
4213 static const ber_sequence_t T_sortAttributes_sequence
[] = {
4214 { &hf_z3950_sortAttributes_id
, BER_CLASS_UNI
, BER_UNI_TAG_OID
, BER_FLAGS_NOOWNTAG
, dissect_z3950_AttributeSetId
},
4215 { &hf_z3950_sortAttributes_list
, BER_CLASS_CON
, 44, BER_FLAGS_NOOWNTAG
, dissect_z3950_AttributeList
},
4216 { NULL
, 0, 0, 0, NULL
}
4220 dissect_z3950_T_sortAttributes(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4221 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4222 T_sortAttributes_sequence
, hf_index
, ett_z3950_T_sortAttributes
);
4228 static const value_string z3950_SortKey_vals
[] = {
4230 { 1, "elementSpec" },
4231 { 2, "sortAttributes" },
4235 static const ber_choice_t SortKey_choice
[] = {
4236 { 0, &hf_z3950_sortfield
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
4237 { 1, &hf_z3950_sortKey_elementSpec
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_Specification
},
4238 { 2, &hf_z3950_sortAttributes
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_T_sortAttributes
},
4239 { 0, NULL
, 0, 0, 0, NULL
}
4243 dissect_z3950_SortKey(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4244 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
4245 SortKey_choice
, hf_index
, ett_z3950_SortKey
,
4252 static const ber_sequence_t T_datbaseSpecific_item_sequence
[] = {
4253 { &hf_z3950_databaseName
, BER_CLASS_CON
, 105, BER_FLAGS_NOOWNTAG
, dissect_z3950_DatabaseName
},
4254 { &hf_z3950_dbSort
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_z3950_SortKey
},
4255 { NULL
, 0, 0, 0, NULL
}
4259 dissect_z3950_T_datbaseSpecific_item(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4260 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4261 T_datbaseSpecific_item_sequence
, hf_index
, ett_z3950_T_datbaseSpecific_item
);
4267 static const ber_sequence_t T_datbaseSpecific_sequence_of
[1] = {
4268 { &hf_z3950_datbaseSpecific_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_T_datbaseSpecific_item
},
4272 dissect_z3950_T_datbaseSpecific(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4273 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
4274 T_datbaseSpecific_sequence_of
, hf_index
, ett_z3950_T_datbaseSpecific
);
4280 static const value_string z3950_SortElement_vals
[] = {
4282 { 2, "datbaseSpecific" },
4286 static const ber_choice_t SortElement_choice
[] = {
4287 { 1, &hf_z3950_sortElement_generic
, BER_CLASS_CON
, 1, 0, dissect_z3950_SortKey
},
4288 { 2, &hf_z3950_datbaseSpecific
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_T_datbaseSpecific
},
4289 { 0, NULL
, 0, 0, 0, NULL
}
4293 dissect_z3950_SortElement(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4294 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
4295 SortElement_choice
, hf_index
, ett_z3950_SortElement
,
4302 static const value_string z3950_T_sortRelation_vals
[] = {
4304 { 1, "descending" },
4305 { 3, "ascendingByFrequency" },
4306 { 4, "descendingByfrequency" },
4312 dissect_z3950_T_sortRelation(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4313 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
4320 static const value_string z3950_T_caseSensitivity_vals
[] = {
4321 { 0, "caseSensitive" },
4322 { 1, "caseInsensitive" },
4328 dissect_z3950_T_caseSensitivity(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4329 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
4336 static const value_string z3950_T_missingValueAction_vals
[] = {
4339 { 3, "missingValueData" },
4343 static const ber_choice_t T_missingValueAction_choice
[] = {
4344 { 1, &hf_z3950_abort
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_NULL
},
4345 { 2, &hf_z3950_null
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_NULL
},
4346 { 3, &hf_z3950_missingValueData
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_z3950_OCTET_STRING
},
4347 { 0, NULL
, 0, 0, 0, NULL
}
4351 dissect_z3950_T_missingValueAction(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4352 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
4353 T_missingValueAction_choice
, hf_index
, ett_z3950_T_missingValueAction
,
4360 static const ber_sequence_t SortKeySpec_sequence
[] = {
4361 { &hf_z3950_sortElement
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_z3950_SortElement
},
4362 { &hf_z3950_sortRelation
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_T_sortRelation
},
4363 { &hf_z3950_caseSensitivity
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_T_caseSensitivity
},
4364 { &hf_z3950_missingValueAction
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
, dissect_z3950_T_missingValueAction
},
4365 { NULL
, 0, 0, 0, NULL
}
4369 dissect_z3950_SortKeySpec(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4370 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4371 SortKeySpec_sequence
, hf_index
, ett_z3950_SortKeySpec
);
4377 static const ber_sequence_t SEQUENCE_OF_SortKeySpec_sequence_of
[1] = {
4378 { &hf_z3950_sortSequence_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_SortKeySpec
},
4382 dissect_z3950_SEQUENCE_OF_SortKeySpec(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4383 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
4384 SEQUENCE_OF_SortKeySpec_sequence_of
, hf_index
, ett_z3950_SEQUENCE_OF_SortKeySpec
);
4390 static const ber_sequence_t SortRequest_sequence
[] = {
4391 { &hf_z3950_referenceId
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_ReferenceId
},
4392 { &hf_z3950_inputResultSetNames
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_InternationalString
},
4393 { &hf_z3950_sortedResultSetName
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
4394 { &hf_z3950_sortSequence
, BER_CLASS_CON
, 5, BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_SortKeySpec
},
4395 { &hf_z3950_otherInfo
, BER_CLASS_CON
, 201, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_OtherInformation
},
4396 { NULL
, 0, 0, 0, NULL
}
4400 dissect_z3950_SortRequest(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4401 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4402 SortRequest_sequence
, hf_index
, ett_z3950_SortRequest
);
4408 static const value_string z3950_T_sortStatus_vals
[] = {
4417 dissect_z3950_T_sortStatus(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4418 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
4425 static const value_string z3950_T_sort_resultSetStatus_vals
[] = {
4435 dissect_z3950_T_sort_resultSetStatus(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4436 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
4443 static const ber_sequence_t SortResponse_sequence
[] = {
4444 { &hf_z3950_referenceId
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_ReferenceId
},
4445 { &hf_z3950_sortStatus
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_z3950_T_sortStatus
},
4446 { &hf_z3950_sort_resultSetStatus
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_T_sort_resultSetStatus
},
4447 { &hf_z3950_diagnostics
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_DiagRec
},
4448 { &hf_z3950_otherInfo
, BER_CLASS_CON
, 201, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_OtherInformation
},
4449 { NULL
, 0, 0, 0, NULL
}
4453 dissect_z3950_SortResponse(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4454 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4455 SortResponse_sequence
, hf_index
, ett_z3950_SortResponse
);
4461 static const ber_sequence_t Segment_sequence
[] = {
4462 { &hf_z3950_referenceId
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_ReferenceId
},
4463 { &hf_z3950_numberOfRecordsReturned
, BER_CLASS_CON
, 24, BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
4464 { &hf_z3950_segmentRecords
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_NamePlusRecord
},
4465 { &hf_z3950_otherInfo
, BER_CLASS_CON
, 201, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_OtherInformation
},
4466 { NULL
, 0, 0, 0, NULL
}
4470 dissect_z3950_Segment(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4471 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4472 Segment_sequence
, hf_index
, ett_z3950_Segment
);
4478 static const value_string z3950_T_function_vals
[] = {
4487 dissect_z3950_T_function(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4488 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
4495 static const value_string z3950_T_allowableFunctions_item_vals
[] = {
4497 { 2, "modifyContents" },
4498 { 3, "modifyPermissions" },
4506 dissect_z3950_T_allowableFunctions_item(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4507 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
4514 static const ber_sequence_t T_allowableFunctions_sequence_of
[1] = {
4515 { &hf_z3950_allowableFunctions_item
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_NOOWNTAG
, dissect_z3950_T_allowableFunctions_item
},
4519 dissect_z3950_T_allowableFunctions(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4520 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
4521 T_allowableFunctions_sequence_of
, hf_index
, ett_z3950_T_allowableFunctions
);
4527 static const ber_sequence_t Permissions_item_sequence
[] = {
4528 { &hf_z3950_userId
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
4529 { &hf_z3950_allowableFunctions
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_T_allowableFunctions
},
4530 { NULL
, 0, 0, 0, NULL
}
4534 dissect_z3950_Permissions_item(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4535 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4536 Permissions_item_sequence
, hf_index
, ett_z3950_Permissions_item
);
4542 static const ber_sequence_t Permissions_sequence_of
[1] = {
4543 { &hf_z3950_Permissions_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_Permissions_item
},
4547 dissect_z3950_Permissions(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4548 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
4549 Permissions_sequence_of
, hf_index
, ett_z3950_Permissions
);
4555 static const value_string z3950_T_waitAction_vals
[] = {
4557 { 2, "waitIfPossible" },
4559 { 4, "dontReturnPackage" },
4565 dissect_z3950_T_waitAction(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4566 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
4573 static const ber_sequence_t ExtendedServicesRequest_sequence
[] = {
4574 { &hf_z3950_referenceId
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_ReferenceId
},
4575 { &hf_z3950_function
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_z3950_T_function
},
4576 { &hf_z3950_packageType
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
, dissect_z3950_OBJECT_IDENTIFIER
},
4577 { &hf_z3950_packageName
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
4578 { &hf_z3950_userId
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
4579 { &hf_z3950_retentionTime
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_IntUnit
},
4580 { &hf_z3950_permissions
, BER_CLASS_CON
, 8, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_Permissions
},
4581 { &hf_z3950_extendedServicesRequest_description
, BER_CLASS_CON
, 9, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
4582 { &hf_z3950_taskSpecificParameters
, BER_CLASS_CON
, 10, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_EXTERNAL
},
4583 { &hf_z3950_waitAction
, BER_CLASS_CON
, 11, BER_FLAGS_IMPLTAG
, dissect_z3950_T_waitAction
},
4584 { &hf_z3950_elements
, BER_CLASS_CON
, 103, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_ElementSetName
},
4585 { &hf_z3950_otherInfo
, BER_CLASS_CON
, 201, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_OtherInformation
},
4586 { NULL
, 0, 0, 0, NULL
}
4590 dissect_z3950_ExtendedServicesRequest(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4591 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4592 ExtendedServicesRequest_sequence
, hf_index
, ett_z3950_ExtendedServicesRequest
);
4598 static const value_string z3950_T_operationStatus_vals
[] = {
4607 dissect_z3950_T_operationStatus(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4608 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
4615 static const ber_sequence_t ExtendedServicesResponse_sequence
[] = {
4616 { &hf_z3950_referenceId
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_ReferenceId
},
4617 { &hf_z3950_operationStatus
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_z3950_T_operationStatus
},
4618 { &hf_z3950_diagnostics
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_DiagRec
},
4619 { &hf_z3950_taskPackage
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_EXTERNAL
},
4620 { &hf_z3950_otherInfo
, BER_CLASS_CON
, 201, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_OtherInformation
},
4621 { NULL
, 0, 0, 0, NULL
}
4625 dissect_z3950_ExtendedServicesResponse(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4626 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4627 ExtendedServicesResponse_sequence
, hf_index
, ett_z3950_ExtendedServicesResponse
);
4633 static const value_string z3950_CloseReason_U_vals
[] = {
4636 { 2, "systemProblem" },
4639 { 5, "securityViolation" },
4640 { 6, "protocolError" },
4641 { 7, "lackOfActivity" },
4643 { 9, "unspecified" },
4649 dissect_z3950_CloseReason_U(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4650 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
4659 dissect_z3950_CloseReason(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4660 offset
= dissect_ber_tagged_type(implicit_tag
, actx
, tree
, tvb
, offset
,
4661 hf_index
, BER_CLASS_CON
, 211, true, dissect_z3950_CloseReason_U
);
4667 static const ber_sequence_t Close_sequence
[] = {
4668 { &hf_z3950_referenceId
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_ReferenceId
},
4669 { &hf_z3950_closeReason
, BER_CLASS_CON
, 211, BER_FLAGS_NOOWNTAG
, dissect_z3950_CloseReason
},
4670 { &hf_z3950_diagnosticInformation
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
4671 { &hf_z3950_resourceReportFormat
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_ResourceReportId
},
4672 { &hf_z3950_resourceReport
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
, dissect_z3950_ResourceReport
},
4673 { &hf_z3950_otherInfo
, BER_CLASS_CON
, 201, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_OtherInformation
},
4674 { NULL
, 0, 0, 0, NULL
}
4678 dissect_z3950_Close(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4679 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4680 Close_sequence
, hf_index
, ett_z3950_Close
);
4686 static const value_string z3950_PDU_vals
[] = {
4687 { 20, "initRequest" },
4688 { 21, "initResponse" },
4689 { 22, "searchRequest" },
4690 { 23, "searchResponse" },
4691 { 24, "presentRequest" },
4692 { 25, "presentResponse" },
4693 { 26, "deleteResultSetRequest" },
4694 { 27, "deleteResultSetResponse" },
4695 { 28, "accessControlRequest" },
4696 { 29, "accessControlResponse" },
4697 { 30, "resourceControlRequest" },
4698 { 31, "resourceControlResponse" },
4699 { 32, "triggerResourceControlRequest" },
4700 { 33, "resourceReportRequest" },
4701 { 34, "resourceReportResponse" },
4702 { 35, "scanRequest" },
4703 { 36, "scanResponse" },
4704 { 43, "sortRequest" },
4705 { 44, "sortResponse" },
4706 { 45, "segmentRequest" },
4707 { 46, "extendedServicesRequest" },
4708 { 47, "extendedServicesResponse" },
4713 static const ber_choice_t PDU_choice
[] = {
4714 { 20, &hf_z3950_initRequest
, BER_CLASS_CON
, 20, BER_FLAGS_IMPLTAG
, dissect_z3950_InitializeRequest
},
4715 { 21, &hf_z3950_initResponse
, BER_CLASS_CON
, 21, BER_FLAGS_IMPLTAG
, dissect_z3950_InitializeResponse
},
4716 { 22, &hf_z3950_searchRequest
, BER_CLASS_CON
, 22, BER_FLAGS_IMPLTAG
, dissect_z3950_SearchRequest
},
4717 { 23, &hf_z3950_searchResponse
, BER_CLASS_CON
, 23, BER_FLAGS_IMPLTAG
, dissect_z3950_SearchResponse
},
4718 { 24, &hf_z3950_presentRequest
, BER_CLASS_CON
, 24, BER_FLAGS_IMPLTAG
, dissect_z3950_PresentRequest
},
4719 { 25, &hf_z3950_presentResponse
, BER_CLASS_CON
, 25, BER_FLAGS_IMPLTAG
, dissect_z3950_PresentResponse
},
4720 { 26, &hf_z3950_deleteResultSetRequest
, BER_CLASS_CON
, 26, BER_FLAGS_IMPLTAG
, dissect_z3950_DeleteResultSetRequest
},
4721 { 27, &hf_z3950_deleteResultSetResponse
, BER_CLASS_CON
, 27, BER_FLAGS_IMPLTAG
, dissect_z3950_DeleteResultSetResponse
},
4722 { 28, &hf_z3950_accessControlRequest
, BER_CLASS_CON
, 28, BER_FLAGS_IMPLTAG
, dissect_z3950_AccessControlRequest
},
4723 { 29, &hf_z3950_accessControlResponse
, BER_CLASS_CON
, 29, BER_FLAGS_IMPLTAG
, dissect_z3950_AccessControlResponse
},
4724 { 30, &hf_z3950_resourceControlRequest
, BER_CLASS_CON
, 30, BER_FLAGS_IMPLTAG
, dissect_z3950_ResourceControlRequest
},
4725 { 31, &hf_z3950_resourceControlResponse
, BER_CLASS_CON
, 31, BER_FLAGS_IMPLTAG
, dissect_z3950_ResourceControlResponse
},
4726 { 32, &hf_z3950_triggerResourceControlRequest
, BER_CLASS_CON
, 32, BER_FLAGS_IMPLTAG
, dissect_z3950_TriggerResourceControlRequest
},
4727 { 33, &hf_z3950_resourceReportRequest
, BER_CLASS_CON
, 33, BER_FLAGS_IMPLTAG
, dissect_z3950_ResourceReportRequest
},
4728 { 34, &hf_z3950_resourceReportResponse
, BER_CLASS_CON
, 34, BER_FLAGS_IMPLTAG
, dissect_z3950_ResourceReportResponse
},
4729 { 35, &hf_z3950_scanRequest
, BER_CLASS_CON
, 35, BER_FLAGS_IMPLTAG
, dissect_z3950_ScanRequest
},
4730 { 36, &hf_z3950_scanResponse
, BER_CLASS_CON
, 36, BER_FLAGS_IMPLTAG
, dissect_z3950_ScanResponse
},
4731 { 43, &hf_z3950_sortRequest
, BER_CLASS_CON
, 43, BER_FLAGS_IMPLTAG
, dissect_z3950_SortRequest
},
4732 { 44, &hf_z3950_sortResponse
, BER_CLASS_CON
, 44, BER_FLAGS_IMPLTAG
, dissect_z3950_SortResponse
},
4733 { 45, &hf_z3950_segmentRequest
, BER_CLASS_CON
, 45, BER_FLAGS_IMPLTAG
, dissect_z3950_Segment
},
4734 { 46, &hf_z3950_extendedServicesRequest
, BER_CLASS_CON
, 46, BER_FLAGS_IMPLTAG
, dissect_z3950_ExtendedServicesRequest
},
4735 { 47, &hf_z3950_extendedServicesResponse
, BER_CLASS_CON
, 47, BER_FLAGS_IMPLTAG
, dissect_z3950_ExtendedServicesResponse
},
4736 { 48, &hf_z3950_close
, BER_CLASS_CON
, 48, BER_FLAGS_IMPLTAG
, dissect_z3950_Close
},
4737 { 0, NULL
, 0, 0, 0, NULL
}
4741 dissect_z3950_PDU(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4743 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
4744 PDU_choice
, hf_index
, ett_z3950_PDU
,
4748 packet_info
*pinfo
= actx
->pinfo
;
4749 int32_t tag
= PDU_choice
[choice
].tag
;
4751 col_set_str(pinfo
->cinfo
, COL_INFO
,
4752 val_to_str_const(tag
, z3950_PDU_vals
, "Unknown Z39.50 PDU"));
4761 dissect_z3950_DBName(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4762 offset
= dissect_ber_tagged_type(implicit_tag
, actx
, tree
, tvb
, offset
,
4763 hf_index
, BER_CLASS_CON
, 2, true, dissect_z3950_VisibleString
);
4769 static const ber_sequence_t SEQUENCE_OF_DBName_sequence_of
[1] = {
4770 { &hf_z3950_dblist_item
, BER_CLASS_CON
, 2, BER_FLAGS_NOOWNTAG
, dissect_z3950_DBName
},
4774 dissect_z3950_SEQUENCE_OF_DBName(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4775 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
4776 SEQUENCE_OF_DBName_sequence_of
, hf_index
, ett_z3950_SEQUENCE_OF_DBName
);
4782 static const ber_sequence_t OCLC_UserInformation_sequence
[] = {
4783 { &hf_z3950_motd
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_VisibleString
},
4784 { &hf_z3950_dblist
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_SEQUENCE_OF_DBName
},
4785 { &hf_z3950_failReason
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_BOOLEAN
},
4786 { &hf_z3950_oCLC_UserInformation_text
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_VisibleString
},
4787 { NULL
, 0, 0, 0, NULL
}
4791 dissect_z3950_OCLC_UserInformation(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4792 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4793 OCLC_UserInformation_sequence
, hf_index
, ett_z3950_OCLC_UserInformation
);
4801 dissect_z3950_SutrsRecord(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4802 offset
= dissect_z3950_InternationalString(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
4808 static const ber_sequence_t Volume_sequence
[] = {
4809 { &hf_z3950_enumeration
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
4810 { &hf_z3950_chronology
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
4811 { &hf_z3950_enumAndChron
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
4812 { NULL
, 0, 0, 0, NULL
}
4816 dissect_z3950_Volume(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4817 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4818 Volume_sequence
, hf_index
, ett_z3950_Volume
);
4824 static const ber_sequence_t SEQUENCE_OF_Volume_sequence_of
[1] = {
4825 { &hf_z3950_volumes_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_Volume
},
4829 dissect_z3950_SEQUENCE_OF_Volume(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4830 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
4831 SEQUENCE_OF_Volume_sequence_of
, hf_index
, ett_z3950_SEQUENCE_OF_Volume
);
4837 static const ber_sequence_t CircRecord_sequence
[] = {
4838 { &hf_z3950_availableNow
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_BOOLEAN
},
4839 { &hf_z3950_availablityDate
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
4840 { &hf_z3950_availableThru
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
4841 { &hf_z3950_circRecord_restrictions
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
4842 { &hf_z3950_itemId
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
4843 { &hf_z3950_renewable
, BER_CLASS_CON
, 6, BER_FLAGS_IMPLTAG
, dissect_z3950_BOOLEAN
},
4844 { &hf_z3950_onHold
, BER_CLASS_CON
, 7, BER_FLAGS_IMPLTAG
, dissect_z3950_BOOLEAN
},
4845 { &hf_z3950_enumAndChron
, BER_CLASS_CON
, 8, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
4846 { &hf_z3950_midspine
, BER_CLASS_CON
, 9, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
4847 { &hf_z3950_temporaryLocation
, BER_CLASS_CON
, 10, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
4848 { NULL
, 0, 0, 0, NULL
}
4852 dissect_z3950_CircRecord(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4853 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4854 CircRecord_sequence
, hf_index
, ett_z3950_CircRecord
);
4860 static const ber_sequence_t SEQUENCE_OF_CircRecord_sequence_of
[1] = {
4861 { &hf_z3950_circulationData_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_CircRecord
},
4865 dissect_z3950_SEQUENCE_OF_CircRecord(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4866 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
4867 SEQUENCE_OF_CircRecord_sequence_of
, hf_index
, ett_z3950_SEQUENCE_OF_CircRecord
);
4873 static const ber_sequence_t HoldingsAndCircData_sequence
[] = {
4874 { &hf_z3950_typeOfRecord
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
4875 { &hf_z3950_encodingLevel
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
4876 { &hf_z3950_format
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
4877 { &hf_z3950_receiptAcqStatus
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
4878 { &hf_z3950_generalRetention
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
4879 { &hf_z3950_completeness
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
4880 { &hf_z3950_dateOfReport
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
4881 { &hf_z3950_nucCode
, BER_CLASS_CON
, 8, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
4882 { &hf_z3950_localLocation
, BER_CLASS_CON
, 9, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
4883 { &hf_z3950_shelvingLocation
, BER_CLASS_CON
, 10, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
4884 { &hf_z3950_callNumber
, BER_CLASS_CON
, 11, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
4885 { &hf_z3950_shelvingData
, BER_CLASS_CON
, 12, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
4886 { &hf_z3950_copyNumber
, BER_CLASS_CON
, 13, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
4887 { &hf_z3950_publicNote
, BER_CLASS_CON
, 14, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
4888 { &hf_z3950_reproductionNote
, BER_CLASS_CON
, 15, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
4889 { &hf_z3950_termsUseRepro
, BER_CLASS_CON
, 16, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
4890 { &hf_z3950_enumAndChron
, BER_CLASS_CON
, 17, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
4891 { &hf_z3950_volumes
, BER_CLASS_CON
, 18, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_Volume
},
4892 { &hf_z3950_circulationData
, BER_CLASS_CON
, 19, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_CircRecord
},
4893 { NULL
, 0, 0, 0, NULL
}
4897 dissect_z3950_HoldingsAndCircData(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4898 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4899 HoldingsAndCircData_sequence
, hf_index
, ett_z3950_HoldingsAndCircData
);
4905 static const value_string z3950_HoldingsRecord_vals
[] = {
4906 { 1, "marcHoldingsRecord" },
4907 { 2, "holdingsAndCirc" },
4911 static const ber_choice_t HoldingsRecord_choice
[] = {
4912 { 1, &hf_z3950_marcHoldingsRecord
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_EXTERNAL
},
4913 { 2, &hf_z3950_holdingsAndCirc
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_HoldingsAndCircData
},
4914 { 0, NULL
, 0, 0, 0, NULL
}
4918 dissect_z3950_HoldingsRecord(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4919 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
4920 HoldingsRecord_choice
, hf_index
, ett_z3950_HoldingsRecord
,
4927 static const ber_sequence_t SEQUENCE_OF_HoldingsRecord_sequence_of
[1] = {
4928 { &hf_z3950_holdingsData_item
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_z3950_HoldingsRecord
},
4932 dissect_z3950_SEQUENCE_OF_HoldingsRecord(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4933 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
4934 SEQUENCE_OF_HoldingsRecord_sequence_of
, hf_index
, ett_z3950_SEQUENCE_OF_HoldingsRecord
);
4940 static const ber_sequence_t OPACRecord_sequence
[] = {
4941 { &hf_z3950_bibliographicRecord
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_EXTERNAL
},
4942 { &hf_z3950_holdingsData
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_HoldingsRecord
},
4943 { NULL
, 0, 0, 0, NULL
}
4947 dissect_z3950_OPACRecord(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4948 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4949 OPACRecord_sequence
, hf_index
, ett_z3950_OPACRecord
);
4955 static const value_string z3950_T_tooManyWhat_vals
[] = {
4956 { 1, "argumentWords" },
4957 { 2, "truncatedWords" },
4958 { 3, "booleanOperators" },
4959 { 4, "incompleteSubfields" },
4960 { 5, "characters" },
4961 { 6, "recordsRetrieved" },
4962 { 7, "dataBasesSpecified" },
4963 { 8, "resultSetsCreated" },
4964 { 9, "indexTermsProcessed" },
4970 dissect_z3950_T_tooManyWhat(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4971 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
4978 static const ber_sequence_t T_tooMany_sequence
[] = {
4979 { &hf_z3950_tooManyWhat
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_T_tooManyWhat
},
4980 { &hf_z3950_max
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
4981 { NULL
, 0, 0, 0, NULL
}
4985 dissect_z3950_T_tooMany(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4986 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4987 T_tooMany_sequence
, hf_index
, ett_z3950_T_tooMany
);
4993 static const ber_sequence_t SEQUENCE_OF_Specification_sequence_of
[1] = {
4994 { &hf_z3950_goodOnes_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_Specification
},
4998 dissect_z3950_SEQUENCE_OF_Specification(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4999 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
5000 SEQUENCE_OF_Specification_sequence_of
, hf_index
, ett_z3950_SEQUENCE_OF_Specification
);
5006 static const ber_sequence_t T_badSpec_sequence
[] = {
5007 { &hf_z3950_spec
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_Specification
},
5008 { &hf_z3950_db
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_DatabaseName
},
5009 { &hf_z3950_goodOnes
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_Specification
},
5010 { NULL
, 0, 0, 0, NULL
}
5014 dissect_z3950_T_badSpec(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5015 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
5016 T_badSpec_sequence
, hf_index
, ett_z3950_T_badSpec
);
5022 static const value_string z3950_T_reasonCode_vals
[] = {
5023 { 0, "doesNotExist" },
5024 { 1, "existsButUnavail" },
5026 { 3, "accessDenied" },
5032 dissect_z3950_T_reasonCode(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5033 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
5040 static const ber_sequence_t T_why_sequence
[] = {
5041 { &hf_z3950_reasonCode
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_T_reasonCode
},
5042 { &hf_z3950_message
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
5043 { NULL
, 0, 0, 0, NULL
}
5047 dissect_z3950_T_why(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5048 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
5049 T_why_sequence
, hf_index
, ett_z3950_T_why
);
5055 static const ber_sequence_t T_dbUnavail_sequence
[] = {
5056 { &hf_z3950_db
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_DatabaseName
},
5057 { &hf_z3950_why
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_T_why
},
5058 { NULL
, 0, 0, 0, NULL
}
5062 dissect_z3950_T_dbUnavail(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5063 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
5064 T_dbUnavail_sequence
, hf_index
, ett_z3950_T_dbUnavail
);
5070 static const value_string z3950_T_unSupOp_vals
[] = {
5080 dissect_z3950_T_unSupOp(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5081 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
5088 static const ber_sequence_t T_attribute_sequence
[] = {
5089 { &hf_z3950_id
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_OBJECT_IDENTIFIER
},
5090 { &hf_z3950_type
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
5091 { &hf_z3950_value
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
5092 { &hf_z3950_term
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOTCHKTAG
, dissect_z3950_Term
},
5093 { NULL
, 0, 0, 0, NULL
}
5097 dissect_z3950_T_attribute(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5098 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
5099 T_attribute_sequence
, hf_index
, ett_z3950_T_attribute
);
5105 static const ber_sequence_t SEQUENCE_OF_AttributeList_sequence_of
[1] = {
5106 { &hf_z3950_recommendedAlternatives_item
, BER_CLASS_CON
, 44, BER_FLAGS_NOOWNTAG
, dissect_z3950_AttributeList
},
5110 dissect_z3950_SEQUENCE_OF_AttributeList(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5111 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
5112 SEQUENCE_OF_AttributeList_sequence_of
, hf_index
, ett_z3950_SEQUENCE_OF_AttributeList
);
5118 static const ber_sequence_t T_attCombo_sequence
[] = {
5119 { &hf_z3950_unsupportedCombination
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_AttributeList
},
5120 { &hf_z3950_recommendedAlternatives
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_AttributeList
},
5121 { NULL
, 0, 0, 0, NULL
}
5125 dissect_z3950_T_attCombo(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5126 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
5127 T_attCombo_sequence
, hf_index
, ett_z3950_T_attCombo
);
5133 static const value_string z3950_T_problem_vals
[] = {
5134 { 1, "codedValue" },
5135 { 2, "unparsable" },
5143 dissect_z3950_T_problem(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5144 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
5151 static const ber_sequence_t T_diagFormat_term_sequence
[] = {
5152 { &hf_z3950_problem
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_T_problem
},
5153 { &hf_z3950_term
, BER_CLASS_CON
, 2, BER_FLAGS_NOTCHKTAG
, dissect_z3950_Term
},
5154 { NULL
, 0, 0, 0, NULL
}
5158 dissect_z3950_T_diagFormat_term(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5159 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
5160 T_diagFormat_term_sequence
, hf_index
, ett_z3950_T_diagFormat_term
);
5166 static const value_string z3950_T_diagFormat_proximity_vals
[] = {
5167 { 1, "resultSets" },
5172 { 6, "attributes" },
5178 static const ber_choice_t T_diagFormat_proximity_choice
[] = {
5179 { 1, &hf_z3950_resultSets
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_NULL
},
5180 { 2, &hf_z3950_badSet
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
5181 { 3, &hf_z3950_relation
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
5182 { 4, &hf_z3950_diagFormat_proximity_unit
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
5183 { 5, &hf_z3950_distance
, BER_CLASS_CON
, 5, BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
5184 { 6, &hf_z3950_attributes
, BER_CLASS_CON
, 6, 0, dissect_z3950_AttributeList
},
5185 { 7, &hf_z3950_diagFormat_proximity_ordered
, BER_CLASS_CON
, 7, BER_FLAGS_IMPLTAG
, dissect_z3950_NULL
},
5186 { 8, &hf_z3950_diagFormat_proximity_exclusion
, BER_CLASS_CON
, 8, BER_FLAGS_IMPLTAG
, dissect_z3950_NULL
},
5187 { 0, NULL
, 0, 0, 0, NULL
}
5191 dissect_z3950_T_diagFormat_proximity(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5192 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
5193 T_diagFormat_proximity_choice
, hf_index
, ett_z3950_T_diagFormat_proximity
,
5200 static const value_string z3950_T_posInResponse_vals
[] = {
5202 { 2, "mustBePositive" },
5203 { 3, "mustBeNonNegative" },
5210 dissect_z3950_T_posInResponse(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5211 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
5218 static const value_string z3950_T_scan_vals
[] = {
5219 { 0, "nonZeroStepSize" },
5220 { 1, "specifiedStepSize" },
5223 { 5, "posInResponse" },
5229 static const ber_choice_t T_scan_choice
[] = {
5230 { 0, &hf_z3950_nonZeroStepSize
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_z3950_NULL
},
5231 { 1, &hf_z3950_specifiedStepSize
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_NULL
},
5232 { 3, &hf_z3950_termList1
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_z3950_NULL
},
5233 { 4, &hf_z3950_termList2
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_AttributeList
},
5234 { 5, &hf_z3950_posInResponse
, BER_CLASS_CON
, 5, BER_FLAGS_IMPLTAG
, dissect_z3950_T_posInResponse
},
5235 { 6, &hf_z3950_resources
, BER_CLASS_CON
, 6, BER_FLAGS_IMPLTAG
, dissect_z3950_NULL
},
5236 { 7, &hf_z3950_endOfList
, BER_CLASS_CON
, 7, BER_FLAGS_IMPLTAG
, dissect_z3950_NULL
},
5237 { 0, NULL
, 0, 0, 0, NULL
}
5241 dissect_z3950_T_scan(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5242 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
5243 T_scan_choice
, hf_index
, ett_z3950_T_scan
,
5250 static const value_string z3950_T_key_vals
[] = {
5258 dissect_z3950_T_key(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5259 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
5266 static const value_string z3950_T_illegal_vals
[] = {
5276 dissect_z3950_T_illegal(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5277 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
5284 static const value_string z3950_T_sort_vals
[] = {
5288 { 3, "incompatible" },
5290 { 5, "dbSpecific" },
5291 { 6, "sortElement" },
5295 { 10, "inputTooLarge" },
5296 { 11, "aggregateTooLarge" },
5300 static const ber_choice_t T_sort_choice
[] = {
5301 { 0, &hf_z3950_sequence
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_z3950_NULL
},
5302 { 1, &hf_z3950_noRsName
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_NULL
},
5303 { 2, &hf_z3950_diagFormat_sort_tooMany
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
5304 { 3, &hf_z3950_incompatible
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_z3950_NULL
},
5305 { 4, &hf_z3950_generic
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
, dissect_z3950_NULL
},
5306 { 5, &hf_z3950_diagFormat_sort_dbSpecific
, BER_CLASS_CON
, 5, BER_FLAGS_IMPLTAG
, dissect_z3950_NULL
},
5307 { 6, &hf_z3950_sortElement
, BER_CLASS_CON
, 6, 0, dissect_z3950_SortElement
},
5308 { 7, &hf_z3950_key
, BER_CLASS_CON
, 7, BER_FLAGS_IMPLTAG
, dissect_z3950_T_key
},
5309 { 8, &hf_z3950_action
, BER_CLASS_CON
, 8, BER_FLAGS_IMPLTAG
, dissect_z3950_NULL
},
5310 { 9, &hf_z3950_illegal
, BER_CLASS_CON
, 9, BER_FLAGS_IMPLTAG
, dissect_z3950_T_illegal
},
5311 { 10, &hf_z3950_inputTooLarge
, BER_CLASS_CON
, 10, BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_InternationalString
},
5312 { 11, &hf_z3950_aggregateTooLarge
, BER_CLASS_CON
, 11, BER_FLAGS_IMPLTAG
, dissect_z3950_NULL
},
5313 { 0, NULL
, 0, 0, 0, NULL
}
5317 dissect_z3950_T_sort(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5318 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
5319 T_sort_choice
, hf_index
, ett_z3950_T_sort
,
5326 static const value_string z3950_T_segmentation_vals
[] = {
5327 { 0, "segmentCount" },
5328 { 1, "segmentSize" },
5332 static const ber_choice_t T_segmentation_choice
[] = {
5333 { 0, &hf_z3950_segmentCount
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_z3950_NULL
},
5334 { 1, &hf_z3950_segmentSize
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
5335 { 0, NULL
, 0, 0, 0, NULL
}
5339 dissect_z3950_T_segmentation(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5340 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
5341 T_segmentation_choice
, hf_index
, ett_z3950_T_segmentation
,
5348 static const value_string z3950_T_req_vals
[] = {
5350 { 2, "noSuchName" },
5358 dissect_z3950_T_req(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5359 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
5366 static const value_string z3950_T_permission_vals
[] = {
5368 { 2, "modifyDelete" },
5374 dissect_z3950_T_permission(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5375 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
5382 static const value_string z3950_T_immediate_vals
[] = {
5385 { 3, "parameters" },
5391 dissect_z3950_T_immediate(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5392 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
5399 static const value_string z3950_T_extServices_vals
[] = {
5401 { 2, "permission" },
5406 static const ber_choice_t T_extServices_choice
[] = {
5407 { 1, &hf_z3950_req
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_T_req
},
5408 { 2, &hf_z3950_permission
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_T_permission
},
5409 { 3, &hf_z3950_immediate
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_z3950_T_immediate
},
5410 { 0, NULL
, 0, 0, 0, NULL
}
5414 dissect_z3950_T_extServices(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5415 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
5416 T_extServices_choice
, hf_index
, ett_z3950_T_extServices
,
5423 static const ber_sequence_t T_diagFormat_accessCtrl_oid_sequence_of
[1] = {
5424 { &hf_z3950_diagFormat_accessCtrl_oid_item
, BER_CLASS_UNI
, BER_UNI_TAG_OID
, BER_FLAGS_NOOWNTAG
, dissect_z3950_OBJECT_IDENTIFIER
},
5428 dissect_z3950_T_diagFormat_accessCtrl_oid(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5429 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
5430 T_diagFormat_accessCtrl_oid_sequence_of
, hf_index
, ett_z3950_T_diagFormat_accessCtrl_oid
);
5436 static const ber_sequence_t T_alternative_sequence_of
[1] = {
5437 { &hf_z3950_alternative_item
, BER_CLASS_UNI
, BER_UNI_TAG_OID
, BER_FLAGS_NOOWNTAG
, dissect_z3950_OBJECT_IDENTIFIER
},
5441 dissect_z3950_T_alternative(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5442 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
5443 T_alternative_sequence_of
, hf_index
, ett_z3950_T_alternative
);
5449 static const value_string z3950_T_accessCtrl_vals
[] = {
5454 { 5, "alternative" },
5460 static const ber_choice_t T_accessCtrl_choice
[] = {
5461 { 1, &hf_z3950_noUser
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_NULL
},
5462 { 2, &hf_z3950_refused
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_NULL
},
5463 { 3, &hf_z3950_diagFormat_accessCtrl_simple
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_z3950_NULL
},
5464 { 4, &hf_z3950_diagFormat_accessCtrl_oid
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
, dissect_z3950_T_diagFormat_accessCtrl_oid
},
5465 { 5, &hf_z3950_alternative
, BER_CLASS_CON
, 5, BER_FLAGS_IMPLTAG
, dissect_z3950_T_alternative
},
5466 { 6, &hf_z3950_pwdInv
, BER_CLASS_CON
, 6, BER_FLAGS_IMPLTAG
, dissect_z3950_NULL
},
5467 { 7, &hf_z3950_pwdExp
, BER_CLASS_CON
, 7, BER_FLAGS_IMPLTAG
, dissect_z3950_NULL
},
5468 { 0, NULL
, 0, 0, 0, NULL
}
5472 dissect_z3950_T_accessCtrl(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5473 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
5474 T_accessCtrl_choice
, hf_index
, ett_z3950_T_accessCtrl
,
5481 static const ber_sequence_t T_suggestedAlternatives_sequence_of
[1] = {
5482 { &hf_z3950_suggestedAlternatives_item
, BER_CLASS_UNI
, BER_UNI_TAG_OID
, BER_FLAGS_NOOWNTAG
, dissect_z3950_OBJECT_IDENTIFIER
},
5486 dissect_z3950_T_suggestedAlternatives(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5487 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
5488 T_suggestedAlternatives_sequence_of
, hf_index
, ett_z3950_T_suggestedAlternatives
);
5494 static const ber_sequence_t T_diagFormat_recordSyntax_sequence
[] = {
5495 { &hf_z3950_unsupportedSyntax
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_OBJECT_IDENTIFIER
},
5496 { &hf_z3950_suggestedAlternatives
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_T_suggestedAlternatives
},
5497 { NULL
, 0, 0, 0, NULL
}
5501 dissect_z3950_T_diagFormat_recordSyntax(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5502 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
5503 T_diagFormat_recordSyntax_sequence
, hf_index
, ett_z3950_T_diagFormat_recordSyntax
);
5509 static const value_string z3950_DiagFormat_vals
[] = {
5510 { 1000, "tooMany" },
5511 { 1001, "badSpec" },
5512 { 1002, "dbUnavail" },
5513 { 1003, "unSupOp" },
5514 { 1004, "attribute" },
5515 { 1005, "attCombo" },
5517 { 1007, "proximity" },
5520 { 1010, "segmentation" },
5521 { 1011, "extServices" },
5522 { 1012, "accessCtrl" },
5523 { 1013, "recordSyntax" },
5527 static const ber_choice_t DiagFormat_choice
[] = {
5528 { 1000, &hf_z3950_tooMany
, BER_CLASS_CON
, 1000, BER_FLAGS_IMPLTAG
, dissect_z3950_T_tooMany
},
5529 { 1001, &hf_z3950_badSpec
, BER_CLASS_CON
, 1001, BER_FLAGS_IMPLTAG
, dissect_z3950_T_badSpec
},
5530 { 1002, &hf_z3950_dbUnavail
, BER_CLASS_CON
, 1002, BER_FLAGS_IMPLTAG
, dissect_z3950_T_dbUnavail
},
5531 { 1003, &hf_z3950_unSupOp
, BER_CLASS_CON
, 1003, BER_FLAGS_IMPLTAG
, dissect_z3950_T_unSupOp
},
5532 { 1004, &hf_z3950_attribute
, BER_CLASS_CON
, 1004, BER_FLAGS_IMPLTAG
, dissect_z3950_T_attribute
},
5533 { 1005, &hf_z3950_attCombo
, BER_CLASS_CON
, 1005, BER_FLAGS_IMPLTAG
, dissect_z3950_T_attCombo
},
5534 { 1006, &hf_z3950_diagFormat_term
, BER_CLASS_CON
, 1006, BER_FLAGS_IMPLTAG
, dissect_z3950_T_diagFormat_term
},
5535 { 1007, &hf_z3950_diagFormat_proximity
, BER_CLASS_CON
, 1007, 0, dissect_z3950_T_diagFormat_proximity
},
5536 { 1008, &hf_z3950_scan
, BER_CLASS_CON
, 1008, 0, dissect_z3950_T_scan
},
5537 { 1009, &hf_z3950_sort
, BER_CLASS_CON
, 1009, 0, dissect_z3950_T_sort
},
5538 { 1010, &hf_z3950_segmentation
, BER_CLASS_CON
, 1010, 0, dissect_z3950_T_segmentation
},
5539 { 1011, &hf_z3950_extServices
, BER_CLASS_CON
, 1011, 0, dissect_z3950_T_extServices
},
5540 { 1012, &hf_z3950_accessCtrl
, BER_CLASS_CON
, 1012, 0, dissect_z3950_T_accessCtrl
},
5541 { 1013, &hf_z3950_diagFormat_recordSyntax
, BER_CLASS_CON
, 1013, BER_FLAGS_IMPLTAG
, dissect_z3950_T_diagFormat_recordSyntax
},
5542 { 0, NULL
, 0, 0, 0, NULL
}
5546 dissect_z3950_DiagFormat(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5547 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
5548 DiagFormat_choice
, hf_index
, ett_z3950_DiagFormat
,
5555 static const value_string z3950_T_diagnosticFormat_item_diagnostic_vals
[] = {
5556 { 1, "defaultDiagRec" },
5557 { 2, "explicitDiagnostic" },
5561 static const ber_choice_t T_diagnosticFormat_item_diagnostic_choice
[] = {
5562 { 1, &hf_z3950_defaultDiagRec
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_DefaultDiagFormat
},
5563 { 2, &hf_z3950_explicitDiagnostic
, BER_CLASS_CON
, 2, 0, dissect_z3950_DiagFormat
},
5564 { 0, NULL
, 0, 0, 0, NULL
}
5568 dissect_z3950_T_diagnosticFormat_item_diagnostic(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5569 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
5570 T_diagnosticFormat_item_diagnostic_choice
, hf_index
, ett_z3950_T_diagnosticFormat_item_diagnostic
,
5577 static const ber_sequence_t DiagnosticFormat_item_sequence
[] = {
5578 { &hf_z3950_diagnosticFormat_item_diagnostic
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
, dissect_z3950_T_diagnosticFormat_item_diagnostic
},
5579 { &hf_z3950_message
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
5580 { NULL
, 0, 0, 0, NULL
}
5584 dissect_z3950_DiagnosticFormat_item(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5585 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
5586 DiagnosticFormat_item_sequence
, hf_index
, ett_z3950_DiagnosticFormat_item
);
5592 static const ber_sequence_t DiagnosticFormat_sequence_of
[1] = {
5593 { &hf_z3950_DiagnosticFormat_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_DiagnosticFormat_item
},
5597 dissect_z3950_DiagnosticFormat(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5598 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
5599 DiagnosticFormat_sequence_of
, hf_index
, ett_z3950_DiagnosticFormat
);
5607 dissect_z3950_LanguageCode(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5608 offset
= dissect_z3950_InternationalString(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
5614 static const ber_sequence_t CommonInfo_sequence
[] = {
5615 { &hf_z3950_dateAdded
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_GeneralizedTime
},
5616 { &hf_z3950_dateChanged
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_GeneralizedTime
},
5617 { &hf_z3950_expiry
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_GeneralizedTime
},
5618 { &hf_z3950_humanString_Language
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_LanguageCode
},
5619 { &hf_z3950_otherInfo
, BER_CLASS_CON
, 201, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_OtherInformation
},
5620 { NULL
, 0, 0, 0, NULL
}
5624 dissect_z3950_CommonInfo(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5625 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
5626 CommonInfo_sequence
, hf_index
, ett_z3950_CommonInfo
);
5632 static const ber_sequence_t HumanString_item_sequence
[] = {
5633 { &hf_z3950_language
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_LanguageCode
},
5634 { &hf_z3950_text
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
5635 { NULL
, 0, 0, 0, NULL
}
5639 dissect_z3950_HumanString_item(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5640 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
5641 HumanString_item_sequence
, hf_index
, ett_z3950_HumanString_item
);
5647 static const ber_sequence_t HumanString_sequence_of
[1] = {
5648 { &hf_z3950_HumanString_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_HumanString_item
},
5652 dissect_z3950_HumanString(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5653 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
5654 HumanString_sequence_of
, hf_index
, ett_z3950_HumanString
);
5660 static const value_string z3950_T_bodyType_vals
[] = {
5667 static const ber_choice_t T_bodyType_choice
[] = {
5668 { 1, &hf_z3950_ianaType
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
5669 { 2, &hf_z3950_z3950type
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
5670 { 3, &hf_z3950_otherType
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
5671 { 0, NULL
, 0, 0, 0, NULL
}
5675 dissect_z3950_T_bodyType(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5676 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
5677 T_bodyType_choice
, hf_index
, ett_z3950_T_bodyType
,
5684 static const ber_sequence_t IconObject_item_sequence
[] = {
5685 { &hf_z3950_bodyType
, BER_CLASS_CON
, 1, 0, dissect_z3950_T_bodyType
},
5686 { &hf_z3950_content
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_OCTET_STRING
},
5687 { NULL
, 0, 0, 0, NULL
}
5691 dissect_z3950_IconObject_item(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5692 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
5693 IconObject_item_sequence
, hf_index
, ett_z3950_IconObject_item
);
5699 static const ber_sequence_t IconObject_sequence_of
[1] = {
5700 { &hf_z3950_IconObject_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_IconObject_item
},
5704 dissect_z3950_IconObject(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5705 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
5706 IconObject_sequence_of
, hf_index
, ett_z3950_IconObject
);
5712 static const ber_sequence_t ContactInfo_sequence
[] = {
5713 { &hf_z3950_name
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
5714 { &hf_z3950_description
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
5715 { &hf_z3950_address
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
5716 { &hf_z3950_email
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
5717 { &hf_z3950_phone
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
5718 { NULL
, 0, 0, 0, NULL
}
5722 dissect_z3950_ContactInfo(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5723 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
5724 ContactInfo_sequence
, hf_index
, ett_z3950_ContactInfo
);
5730 static const ber_sequence_t DatabaseList_sequence_of
[1] = {
5731 { &hf_z3950_DatabaseList_item
, BER_CLASS_CON
, 105, BER_FLAGS_NOOWNTAG
, dissect_z3950_DatabaseName
},
5735 dissect_z3950_DatabaseList(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5736 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
5737 DatabaseList_sequence_of
, hf_index
, ett_z3950_DatabaseList
);
5743 static const ber_sequence_t SEQUENCE_OF_DatabaseList_sequence_of
[1] = {
5744 { &hf_z3950_dbCombinations_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_DatabaseList
},
5748 dissect_z3950_SEQUENCE_OF_DatabaseList(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5749 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
5750 SEQUENCE_OF_DatabaseList_sequence_of
, hf_index
, ett_z3950_SEQUENCE_OF_DatabaseList
);
5756 static const ber_sequence_t T_internetAddress_sequence
[] = {
5757 { &hf_z3950_hostAddress
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
5758 { &hf_z3950_port
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
5759 { NULL
, 0, 0, 0, NULL
}
5763 dissect_z3950_T_internetAddress(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5764 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
5765 T_internetAddress_sequence
, hf_index
, ett_z3950_T_internetAddress
);
5771 static const ber_sequence_t T_osiPresentationAddress_sequence
[] = {
5772 { &hf_z3950_pSel
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
5773 { &hf_z3950_sSel
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
5774 { &hf_z3950_tSel
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
5775 { &hf_z3950_nSap
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
5776 { NULL
, 0, 0, 0, NULL
}
5780 dissect_z3950_T_osiPresentationAddress(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5781 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
5782 T_osiPresentationAddress_sequence
, hf_index
, ett_z3950_T_osiPresentationAddress
);
5788 static const ber_sequence_t T_networkAddress_other_sequence
[] = {
5789 { &hf_z3950_networkAddress_other_type
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
5790 { &hf_z3950_networkAddress_other_address
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
5791 { NULL
, 0, 0, 0, NULL
}
5795 dissect_z3950_T_networkAddress_other(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5796 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
5797 T_networkAddress_other_sequence
, hf_index
, ett_z3950_T_networkAddress_other
);
5803 static const value_string z3950_NetworkAddress_vals
[] = {
5804 { 0, "internetAddress" },
5805 { 1, "osiPresentationAddress" },
5810 static const ber_choice_t NetworkAddress_choice
[] = {
5811 { 0, &hf_z3950_internetAddress
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_z3950_T_internetAddress
},
5812 { 1, &hf_z3950_osiPresentationAddress
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_T_osiPresentationAddress
},
5813 { 2, &hf_z3950_networkAddress_other
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_T_networkAddress_other
},
5814 { 0, NULL
, 0, 0, 0, NULL
}
5818 dissect_z3950_NetworkAddress(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5819 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
5820 NetworkAddress_choice
, hf_index
, ett_z3950_NetworkAddress
,
5827 static const ber_sequence_t SEQUENCE_OF_NetworkAddress_sequence_of
[1] = {
5828 { &hf_z3950_addresses_item
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_z3950_NetworkAddress
},
5832 dissect_z3950_SEQUENCE_OF_NetworkAddress(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5833 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
5834 SEQUENCE_OF_NetworkAddress_sequence_of
, hf_index
, ett_z3950_SEQUENCE_OF_NetworkAddress
);
5840 static const ber_sequence_t T_privateCapabilities_operators_item_sequence
[] = {
5841 { &hf_z3950_operator
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
5842 { &hf_z3950_description
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
5843 { NULL
, 0, 0, 0, NULL
}
5847 dissect_z3950_T_privateCapabilities_operators_item(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5848 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
5849 T_privateCapabilities_operators_item_sequence
, hf_index
, ett_z3950_T_privateCapabilities_operators_item
);
5855 static const ber_sequence_t T_privateCapabilities_operators_sequence_of
[1] = {
5856 { &hf_z3950_privateCapabilities_operators_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_T_privateCapabilities_operators_item
},
5860 dissect_z3950_T_privateCapabilities_operators(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5861 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
5862 T_privateCapabilities_operators_sequence_of
, hf_index
, ett_z3950_T_privateCapabilities_operators
);
5868 static const ber_sequence_t SearchKey_sequence
[] = {
5869 { &hf_z3950_searchKey
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
5870 { &hf_z3950_description
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
5871 { NULL
, 0, 0, 0, NULL
}
5875 dissect_z3950_SearchKey(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5876 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
5877 SearchKey_sequence
, hf_index
, ett_z3950_SearchKey
);
5883 static const ber_sequence_t SEQUENCE_OF_SearchKey_sequence_of
[1] = {
5884 { &hf_z3950_searchKeys_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_SearchKey
},
5888 dissect_z3950_SEQUENCE_OF_SearchKey(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5889 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
5890 SEQUENCE_OF_SearchKey_sequence_of
, hf_index
, ett_z3950_SEQUENCE_OF_SearchKey
);
5896 static const ber_sequence_t SEQUENCE_OF_HumanString_sequence_of
[1] = {
5897 { &hf_z3950_keywords_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_HumanString
},
5901 dissect_z3950_SEQUENCE_OF_HumanString(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5902 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
5903 SEQUENCE_OF_HumanString_sequence_of
, hf_index
, ett_z3950_SEQUENCE_OF_HumanString
);
5909 static const ber_sequence_t PrivateCapabilities_sequence
[] = {
5910 { &hf_z3950_privateCapabilities_operators
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_T_privateCapabilities_operators
},
5911 { &hf_z3950_searchKeys
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_SearchKey
},
5912 { &hf_z3950_privateCapabilities_description
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_HumanString
},
5913 { NULL
, 0, 0, 0, NULL
}
5917 dissect_z3950_PrivateCapabilities(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5918 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
5919 PrivateCapabilities_sequence
, hf_index
, ett_z3950_PrivateCapabilities
);
5925 static const ber_sequence_t T_operators_sequence_of
[1] = {
5926 { &hf_z3950_operators_item
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_NOOWNTAG
, dissect_z3950_INTEGER
},
5930 dissect_z3950_T_operators(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5931 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
5932 T_operators_sequence_of
, hf_index
, ett_z3950_T_operators
);
5938 static const ber_sequence_t T_proximitySupport_unitsSupported_item_private_sequence
[] = {
5939 { &hf_z3950_proximitySupport_unitsSupported_item_private_unit
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
5940 { &hf_z3950_description
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
, dissect_z3950_HumanString
},
5941 { NULL
, 0, 0, 0, NULL
}
5945 dissect_z3950_T_proximitySupport_unitsSupported_item_private(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5946 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
5947 T_proximitySupport_unitsSupported_item_private_sequence
, hf_index
, ett_z3950_T_proximitySupport_unitsSupported_item_private
);
5953 static const value_string z3950_T_unitsSupported_item_vals
[] = {
5959 static const ber_choice_t T_unitsSupported_item_choice
[] = {
5960 { 1, &hf_z3950_proximitySupport_unitsSupported_item_known
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
5961 { 2, &hf_z3950_proximitySupport_unitsSupported_item_private
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_T_proximitySupport_unitsSupported_item_private
},
5962 { 0, NULL
, 0, 0, 0, NULL
}
5966 dissect_z3950_T_unitsSupported_item(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5967 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
5968 T_unitsSupported_item_choice
, hf_index
, ett_z3950_T_unitsSupported_item
,
5975 static const ber_sequence_t T_unitsSupported_sequence_of
[1] = {
5976 { &hf_z3950_unitsSupported_item
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_z3950_T_unitsSupported_item
},
5980 dissect_z3950_T_unitsSupported(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5981 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
5982 T_unitsSupported_sequence_of
, hf_index
, ett_z3950_T_unitsSupported
);
5988 static const ber_sequence_t ProximitySupport_sequence
[] = {
5989 { &hf_z3950_anySupport
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_z3950_BOOLEAN
},
5990 { &hf_z3950_unitsSupported
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_T_unitsSupported
},
5991 { NULL
, 0, 0, 0, NULL
}
5995 dissect_z3950_ProximitySupport(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5996 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
5997 ProximitySupport_sequence
, hf_index
, ett_z3950_ProximitySupport
);
6003 static const ber_sequence_t RpnCapabilities_sequence
[] = {
6004 { &hf_z3950_operators
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_T_operators
},
6005 { &hf_z3950_resultSetAsOperandSupported
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_BOOLEAN
},
6006 { &hf_z3950_restrictionOperandSupported
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_BOOLEAN
},
6007 { &hf_z3950_proximity
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_ProximitySupport
},
6008 { NULL
, 0, 0, 0, NULL
}
6012 dissect_z3950_RpnCapabilities(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6013 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
6014 RpnCapabilities_sequence
, hf_index
, ett_z3950_RpnCapabilities
);
6020 static const ber_sequence_t Iso8777Capabilities_sequence
[] = {
6021 { &hf_z3950_searchKeys
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_SearchKey
},
6022 { &hf_z3950_restrictions
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
6023 { NULL
, 0, 0, 0, NULL
}
6027 dissect_z3950_Iso8777Capabilities(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6028 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
6029 Iso8777Capabilities_sequence
, hf_index
, ett_z3950_Iso8777Capabilities
);
6035 static const value_string z3950_QueryTypeDetails_vals
[] = {
6041 { 102, "rankedList" },
6045 static const ber_choice_t QueryTypeDetails_choice
[] = {
6046 { 0, &hf_z3950_queryTypeDetails_private
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_z3950_PrivateCapabilities
},
6047 { 1, &hf_z3950_queryTypeDetails_rpn
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_RpnCapabilities
},
6048 { 2, &hf_z3950_iso8777
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_Iso8777Capabilities
},
6049 { 100, &hf_z3950_z39_58
, BER_CLASS_CON
, 100, BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
6050 { 101, &hf_z3950_erpn
, BER_CLASS_CON
, 101, BER_FLAGS_IMPLTAG
, dissect_z3950_RpnCapabilities
},
6051 { 102, &hf_z3950_rankedList
, BER_CLASS_CON
, 102, BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
6052 { 0, NULL
, 0, 0, 0, NULL
}
6056 dissect_z3950_QueryTypeDetails(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6057 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
6058 QueryTypeDetails_choice
, hf_index
, ett_z3950_QueryTypeDetails
,
6065 static const ber_sequence_t SEQUENCE_OF_QueryTypeDetails_sequence_of
[1] = {
6066 { &hf_z3950_queryTypesSupported_item
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_z3950_QueryTypeDetails
},
6070 dissect_z3950_SEQUENCE_OF_QueryTypeDetails(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6071 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
6072 SEQUENCE_OF_QueryTypeDetails_sequence_of
, hf_index
, ett_z3950_SEQUENCE_OF_QueryTypeDetails
);
6078 static const ber_sequence_t T_diagnosticsSets_sequence_of
[1] = {
6079 { &hf_z3950_diagnosticsSets_item
, BER_CLASS_UNI
, BER_UNI_TAG_OID
, BER_FLAGS_NOOWNTAG
, dissect_z3950_OBJECT_IDENTIFIER
},
6083 dissect_z3950_T_diagnosticsSets(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6084 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
6085 T_diagnosticsSets_sequence_of
, hf_index
, ett_z3950_T_diagnosticsSets
);
6091 static const ber_sequence_t SEQUENCE_OF_AttributeSetId_sequence_of
[1] = {
6092 { &hf_z3950_attributeSetIds_item
, BER_CLASS_UNI
, BER_UNI_TAG_OID
, BER_FLAGS_NOOWNTAG
, dissect_z3950_AttributeSetId
},
6096 dissect_z3950_SEQUENCE_OF_AttributeSetId(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6097 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
6098 SEQUENCE_OF_AttributeSetId_sequence_of
, hf_index
, ett_z3950_SEQUENCE_OF_AttributeSetId
);
6104 static const ber_sequence_t T_schemas_sequence_of
[1] = {
6105 { &hf_z3950_schemas_item
, BER_CLASS_UNI
, BER_UNI_TAG_OID
, BER_FLAGS_NOOWNTAG
, dissect_z3950_OBJECT_IDENTIFIER
},
6109 dissect_z3950_T_schemas(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6110 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
6111 T_schemas_sequence_of
, hf_index
, ett_z3950_T_schemas
);
6117 static const ber_sequence_t T_recordSyntaxes_sequence_of
[1] = {
6118 { &hf_z3950_recordSyntaxes_item
, BER_CLASS_UNI
, BER_UNI_TAG_OID
, BER_FLAGS_NOOWNTAG
, dissect_z3950_OBJECT_IDENTIFIER
},
6122 dissect_z3950_T_recordSyntaxes(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6123 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
6124 T_recordSyntaxes_sequence_of
, hf_index
, ett_z3950_T_recordSyntaxes
);
6130 static const ber_sequence_t T_resourceChallenges_sequence_of
[1] = {
6131 { &hf_z3950_resourceChallenges_item
, BER_CLASS_UNI
, BER_UNI_TAG_OID
, BER_FLAGS_NOOWNTAG
, dissect_z3950_OBJECT_IDENTIFIER
},
6135 dissect_z3950_T_resourceChallenges(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6136 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
6137 T_resourceChallenges_sequence_of
, hf_index
, ett_z3950_T_resourceChallenges
);
6143 static const value_string z3950_T_accessType_vals
[] = {
6147 { 3, "specific-elements" },
6148 { 4, "extended-services" },
6149 { 5, "by-database" },
6155 dissect_z3950_T_accessType(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6156 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
6163 static const ber_sequence_t T_accessChallenges_sequence_of
[1] = {
6164 { &hf_z3950_accessChallenges_item
, BER_CLASS_UNI
, BER_UNI_TAG_OID
, BER_FLAGS_NOOWNTAG
, dissect_z3950_OBJECT_IDENTIFIER
},
6168 dissect_z3950_T_accessChallenges(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6169 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
6170 T_accessChallenges_sequence_of
, hf_index
, ett_z3950_T_accessChallenges
);
6176 static const ber_sequence_t AccessRestrictions_item_sequence
[] = {
6177 { &hf_z3950_accessType
, BER_CLASS_CON
, 0, 0, dissect_z3950_T_accessType
},
6178 { &hf_z3950_accessText
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
6179 { &hf_z3950_accessChallenges
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_T_accessChallenges
},
6180 { NULL
, 0, 0, 0, NULL
}
6184 dissect_z3950_AccessRestrictions_item(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6185 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
6186 AccessRestrictions_item_sequence
, hf_index
, ett_z3950_AccessRestrictions_item
);
6192 static const ber_sequence_t AccessRestrictions_sequence_of
[1] = {
6193 { &hf_z3950_AccessRestrictions_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_AccessRestrictions_item
},
6197 dissect_z3950_AccessRestrictions(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6198 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
6199 AccessRestrictions_sequence_of
, hf_index
, ett_z3950_AccessRestrictions
);
6205 static const ber_sequence_t Charge_sequence
[] = {
6206 { &hf_z3950_cost
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_IntUnit
},
6207 { &hf_z3950_perWhat
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_Unit
},
6208 { &hf_z3950_charge_text
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
6209 { NULL
, 0, 0, 0, NULL
}
6213 dissect_z3950_Charge(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6214 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
6215 Charge_sequence
, hf_index
, ett_z3950_Charge
);
6221 static const ber_sequence_t T_otherCharges_item_sequence
[] = {
6222 { &hf_z3950_forWhat
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
6223 { &hf_z3950_charge
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_Charge
},
6224 { NULL
, 0, 0, 0, NULL
}
6228 dissect_z3950_T_otherCharges_item(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6229 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
6230 T_otherCharges_item_sequence
, hf_index
, ett_z3950_T_otherCharges_item
);
6236 static const ber_sequence_t T_otherCharges_sequence_of
[1] = {
6237 { &hf_z3950_otherCharges_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_T_otherCharges_item
},
6241 dissect_z3950_T_otherCharges(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6242 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
6243 T_otherCharges_sequence_of
, hf_index
, ett_z3950_T_otherCharges
);
6249 static const ber_sequence_t Costs_sequence
[] = {
6250 { &hf_z3950_connectCharge
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_Charge
},
6251 { &hf_z3950_connectTime
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_Charge
},
6252 { &hf_z3950_displayCharge
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_Charge
},
6253 { &hf_z3950_searchCharge
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_Charge
},
6254 { &hf_z3950_subscriptCharge
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_Charge
},
6255 { &hf_z3950_otherCharges
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_T_otherCharges
},
6256 { NULL
, 0, 0, 0, NULL
}
6260 dissect_z3950_Costs(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6261 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
6262 Costs_sequence
, hf_index
, ett_z3950_Costs
);
6268 static const ber_sequence_t T_variantSets_sequence_of
[1] = {
6269 { &hf_z3950_variantSets_item
, BER_CLASS_UNI
, BER_UNI_TAG_OID
, BER_FLAGS_NOOWNTAG
, dissect_z3950_OBJECT_IDENTIFIER
},
6273 dissect_z3950_T_variantSets(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6274 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
6275 T_variantSets_sequence_of
, hf_index
, ett_z3950_T_variantSets
);
6281 static const ber_sequence_t SEQUENCE_OF_ElementSetName_sequence_of
[1] = {
6282 { &hf_z3950_elementSetNames_item
, BER_CLASS_CON
, 103, BER_FLAGS_NOOWNTAG
, dissect_z3950_ElementSetName
},
6286 dissect_z3950_SEQUENCE_OF_ElementSetName(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6287 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
6288 SEQUENCE_OF_ElementSetName_sequence_of
, hf_index
, ett_z3950_SEQUENCE_OF_ElementSetName
);
6294 static const ber_sequence_t AccessInfo_sequence
[] = {
6295 { &hf_z3950_queryTypesSupported
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_QueryTypeDetails
},
6296 { &hf_z3950_diagnosticsSets
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_T_diagnosticsSets
},
6297 { &hf_z3950_attributeSetIds
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_AttributeSetId
},
6298 { &hf_z3950_schemas
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_T_schemas
},
6299 { &hf_z3950_recordSyntaxes
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_T_recordSyntaxes
},
6300 { &hf_z3950_resourceChallenges
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_T_resourceChallenges
},
6301 { &hf_z3950_restrictedAccess
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_AccessRestrictions
},
6302 { &hf_z3950_costInfo
, BER_CLASS_CON
, 8, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_Costs
},
6303 { &hf_z3950_variantSets
, BER_CLASS_CON
, 9, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_T_variantSets
},
6304 { &hf_z3950_elementSetNames
, BER_CLASS_CON
, 10, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_ElementSetName
},
6305 { &hf_z3950_unitSystems
, BER_CLASS_CON
, 11, BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_InternationalString
},
6306 { NULL
, 0, 0, 0, NULL
}
6310 dissect_z3950_AccessInfo(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6311 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
6312 AccessInfo_sequence
, hf_index
, ett_z3950_AccessInfo
);
6318 static const ber_sequence_t TargetInfo_sequence
[] = {
6319 { &hf_z3950_commonInfo
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_CommonInfo
},
6320 { &hf_z3950_name
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
6321 { &hf_z3950_recent_news
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
6322 { &hf_z3950_icon
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_IconObject
},
6323 { &hf_z3950_namedResultSets
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
, dissect_z3950_BOOLEAN
},
6324 { &hf_z3950_multipleDBsearch
, BER_CLASS_CON
, 5, BER_FLAGS_IMPLTAG
, dissect_z3950_BOOLEAN
},
6325 { &hf_z3950_maxResultSets
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
6326 { &hf_z3950_maxResultSize
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
6327 { &hf_z3950_maxTerms
, BER_CLASS_CON
, 8, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
6328 { &hf_z3950_timeoutInterval
, BER_CLASS_CON
, 9, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_IntUnit
},
6329 { &hf_z3950_welcomeMessage
, BER_CLASS_CON
, 10, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
6330 { &hf_z3950_contactInfo
, BER_CLASS_CON
, 11, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_ContactInfo
},
6331 { &hf_z3950_description
, BER_CLASS_CON
, 12, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
6332 { &hf_z3950_nicknames
, BER_CLASS_CON
, 13, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_InternationalString
},
6333 { &hf_z3950_usage_restrictions
, BER_CLASS_CON
, 14, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
6334 { &hf_z3950_paymentAddr
, BER_CLASS_CON
, 15, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
6335 { &hf_z3950_hours
, BER_CLASS_CON
, 16, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
6336 { &hf_z3950_dbCombinations
, BER_CLASS_CON
, 17, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_DatabaseList
},
6337 { &hf_z3950_addresses
, BER_CLASS_CON
, 18, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_NetworkAddress
},
6338 { &hf_z3950_languages
, BER_CLASS_CON
, 101, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_InternationalString
},
6339 { &hf_z3950_commonAccessInfo
, BER_CLASS_CON
, 19, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_AccessInfo
},
6340 { NULL
, 0, 0, 0, NULL
}
6344 dissect_z3950_TargetInfo(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6345 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
6346 TargetInfo_sequence
, hf_index
, ett_z3950_TargetInfo
);
6352 static const value_string z3950_T_recordCount_vals
[] = {
6353 { 0, "actualNumber" },
6354 { 1, "approxNumber" },
6358 static const ber_choice_t T_recordCount_choice
[] = {
6359 { 0, &hf_z3950_actualNumber
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
6360 { 1, &hf_z3950_approxNumber
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
6361 { 0, NULL
, 0, 0, 0, NULL
}
6365 dissect_z3950_T_recordCount(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6366 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
6367 T_recordCount_choice
, hf_index
, ett_z3950_T_recordCount
,
6374 static const ber_sequence_t DatabaseInfo_sequence
[] = {
6375 { &hf_z3950_commonInfo
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_CommonInfo
},
6376 { &hf_z3950_databaseInfo_name
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_DatabaseName
},
6377 { &hf_z3950_explainDatabase
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_NULL
},
6378 { &hf_z3950_databaseInfo_nicknames
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_DatabaseName
},
6379 { &hf_z3950_icon
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_IconObject
},
6380 { &hf_z3950_user_fee
, BER_CLASS_CON
, 5, BER_FLAGS_IMPLTAG
, dissect_z3950_BOOLEAN
},
6381 { &hf_z3950_available
, BER_CLASS_CON
, 6, BER_FLAGS_IMPLTAG
, dissect_z3950_BOOLEAN
},
6382 { &hf_z3950_titleString
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
6383 { &hf_z3950_keywords
, BER_CLASS_CON
, 8, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_HumanString
},
6384 { &hf_z3950_description
, BER_CLASS_CON
, 9, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
6385 { &hf_z3950_associatedDbs
, BER_CLASS_CON
, 10, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_DatabaseList
},
6386 { &hf_z3950_subDbs
, BER_CLASS_CON
, 11, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_DatabaseList
},
6387 { &hf_z3950_disclaimers
, BER_CLASS_CON
, 12, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
6388 { &hf_z3950_news
, BER_CLASS_CON
, 13, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
6389 { &hf_z3950_recordCount
, BER_CLASS_CON
, 14, BER_FLAGS_OPTIONAL
, dissect_z3950_T_recordCount
},
6390 { &hf_z3950_defaultOrder
, BER_CLASS_CON
, 15, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
6391 { &hf_z3950_avRecordSize
, BER_CLASS_CON
, 16, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
6392 { &hf_z3950_maxRecordSize
, BER_CLASS_CON
, 17, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
6393 { &hf_z3950_hours
, BER_CLASS_CON
, 18, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
6394 { &hf_z3950_bestTime
, BER_CLASS_CON
, 19, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
6395 { &hf_z3950_lastUpdate
, BER_CLASS_CON
, 20, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_GeneralizedTime
},
6396 { &hf_z3950_updateInterval
, BER_CLASS_CON
, 21, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_IntUnit
},
6397 { &hf_z3950_coverage
, BER_CLASS_CON
, 22, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
6398 { &hf_z3950_proprietary
, BER_CLASS_CON
, 23, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_BOOLEAN
},
6399 { &hf_z3950_copyrightText
, BER_CLASS_CON
, 24, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
6400 { &hf_z3950_copyrightNotice
, BER_CLASS_CON
, 25, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
6401 { &hf_z3950_producerContactInfo
, BER_CLASS_CON
, 26, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_ContactInfo
},
6402 { &hf_z3950_supplierContactInfo
, BER_CLASS_CON
, 27, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_ContactInfo
},
6403 { &hf_z3950_submissionContactInfo
, BER_CLASS_CON
, 28, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_ContactInfo
},
6404 { &hf_z3950_accessInfo
, BER_CLASS_CON
, 29, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_AccessInfo
},
6405 { NULL
, 0, 0, 0, NULL
}
6409 dissect_z3950_DatabaseInfo(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6410 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
6411 DatabaseInfo_sequence
, hf_index
, ett_z3950_DatabaseInfo
);
6417 static const ber_sequence_t T_tagTypeMapping_item_sequence
[] = {
6418 { &hf_z3950_tagType
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
6419 { &hf_z3950_tagSet
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_OBJECT_IDENTIFIER
},
6420 { &hf_z3950_defaultTagType
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_NULL
},
6421 { NULL
, 0, 0, 0, NULL
}
6425 dissect_z3950_T_tagTypeMapping_item(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6426 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
6427 T_tagTypeMapping_item_sequence
, hf_index
, ett_z3950_T_tagTypeMapping_item
);
6433 static const ber_sequence_t T_tagTypeMapping_sequence_of
[1] = {
6434 { &hf_z3950_tagTypeMapping_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_T_tagTypeMapping_item
},
6438 dissect_z3950_T_tagTypeMapping(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6439 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
6440 T_tagTypeMapping_sequence_of
, hf_index
, ett_z3950_T_tagTypeMapping
);
6446 static const ber_sequence_t Path_item_sequence
[] = {
6447 { &hf_z3950_tagType
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
6448 { &hf_z3950_tagValue
, BER_CLASS_CON
, 2, BER_FLAGS_NOTCHKTAG
, dissect_z3950_StringOrNumeric
},
6449 { NULL
, 0, 0, 0, NULL
}
6453 dissect_z3950_Path_item(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6454 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
6455 Path_item_sequence
, hf_index
, ett_z3950_Path_item
);
6461 static const ber_sequence_t Path_sequence_of
[1] = {
6462 { &hf_z3950_Path_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_Path_item
},
6466 dissect_z3950_Path(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6467 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
6468 Path_sequence_of
, hf_index
, ett_z3950_Path
);
6474 static const value_string z3950_PrimitiveDataType_vals
[] = {
6475 { 0, "octetString" },
6480 { 5, "trueOrFalse" },
6484 { 100, "noneOfTheAbove" },
6490 dissect_z3950_PrimitiveDataType(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6491 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
6498 static const ber_sequence_t SEQUENCE_OF_ElementInfo_sequence_of
[1] = {
6499 { &hf_z3950_recordStructure_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_ElementInfo
},
6503 dissect_z3950_SEQUENCE_OF_ElementInfo(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6504 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
6505 SEQUENCE_OF_ElementInfo_sequence_of
, hf_index
, ett_z3950_SEQUENCE_OF_ElementInfo
);
6511 static const value_string z3950_ElementDataType_vals
[] = {
6513 { 1, "structured" },
6517 static const ber_choice_t ElementDataType_choice
[] = {
6518 { 0, &hf_z3950_primitive
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_z3950_PrimitiveDataType
},
6519 { 1, &hf_z3950_structured
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_ElementInfo
},
6520 { 0, NULL
, 0, 0, 0, NULL
}
6524 dissect_z3950_ElementDataType(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6525 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
6526 ElementDataType_choice
, hf_index
, ett_z3950_ElementDataType
,
6533 static const ber_sequence_t ElementInfo_sequence
[] = {
6534 { &hf_z3950_elementName
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
6535 { &hf_z3950_elementTagPath
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_Path
},
6536 { &hf_z3950_elementInfo_dataType
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOTCHKTAG
, dissect_z3950_ElementDataType
},
6537 { &hf_z3950_required
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
, dissect_z3950_BOOLEAN
},
6538 { &hf_z3950_repeatable
, BER_CLASS_CON
, 5, BER_FLAGS_IMPLTAG
, dissect_z3950_BOOLEAN
},
6539 { &hf_z3950_description
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
6540 { NULL
, 0, 0, 0, NULL
}
6544 dissect_z3950_ElementInfo(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6545 // ElementInfo -> ElementDataType -> ElementDataType/structured -> ElementInfo
6546 actx
->pinfo
->dissection_depth
+= 3;
6547 increment_dissection_depth(actx
->pinfo
);
6548 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
6549 ElementInfo_sequence
, hf_index
, ett_z3950_ElementInfo
);
6551 actx
->pinfo
->dissection_depth
-= 3;
6552 decrement_dissection_depth(actx
->pinfo
);
6557 static const ber_sequence_t SchemaInfo_sequence
[] = {
6558 { &hf_z3950_commonInfo
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_CommonInfo
},
6559 { &hf_z3950_schema
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_OBJECT_IDENTIFIER
},
6560 { &hf_z3950_name
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
6561 { &hf_z3950_description
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
6562 { &hf_z3950_tagTypeMapping
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_T_tagTypeMapping
},
6563 { &hf_z3950_recordStructure
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_ElementInfo
},
6564 { NULL
, 0, 0, 0, NULL
}
6568 dissect_z3950_SchemaInfo(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6569 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
6570 SchemaInfo_sequence
, hf_index
, ett_z3950_SchemaInfo
);
6576 static const ber_sequence_t T_tagSetInfo_elements_item_sequence
[] = {
6577 { &hf_z3950_elementname
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
6578 { &hf_z3950_nicknames
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_InternationalString
},
6579 { &hf_z3950_elementTag
, BER_CLASS_CON
, 3, BER_FLAGS_NOTCHKTAG
, dissect_z3950_StringOrNumeric
},
6580 { &hf_z3950_description
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
6581 { &hf_z3950_dataType
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
, dissect_z3950_PrimitiveDataType
},
6582 { &hf_z3950_otherTagInfo
, BER_CLASS_CON
, 201, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_OtherInformation
},
6583 { NULL
, 0, 0, 0, NULL
}
6587 dissect_z3950_T_tagSetInfo_elements_item(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6588 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
6589 T_tagSetInfo_elements_item_sequence
, hf_index
, ett_z3950_T_tagSetInfo_elements_item
);
6595 static const ber_sequence_t T_tagSetInfo_elements_sequence_of
[1] = {
6596 { &hf_z3950_tagSetInfo_elements_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_T_tagSetInfo_elements_item
},
6600 dissect_z3950_T_tagSetInfo_elements(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6601 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
6602 T_tagSetInfo_elements_sequence_of
, hf_index
, ett_z3950_T_tagSetInfo_elements
);
6608 static const ber_sequence_t TagSetInfo_sequence
[] = {
6609 { &hf_z3950_commonInfo
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_CommonInfo
},
6610 { &hf_z3950_tagSet
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_OBJECT_IDENTIFIER
},
6611 { &hf_z3950_name
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
6612 { &hf_z3950_description
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
6613 { &hf_z3950_tagSetInfo_elements
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_T_tagSetInfo_elements
},
6614 { NULL
, 0, 0, 0, NULL
}
6618 dissect_z3950_TagSetInfo(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6619 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
6620 TagSetInfo_sequence
, hf_index
, ett_z3950_TagSetInfo
);
6626 static const ber_sequence_t T_transferSyntaxes_sequence_of
[1] = {
6627 { &hf_z3950_transferSyntaxes_item
, BER_CLASS_UNI
, BER_UNI_TAG_OID
, BER_FLAGS_NOOWNTAG
, dissect_z3950_OBJECT_IDENTIFIER
},
6631 dissect_z3950_T_transferSyntaxes(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6632 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
6633 T_transferSyntaxes_sequence_of
, hf_index
, ett_z3950_T_transferSyntaxes
);
6639 static const ber_sequence_t RecordSyntaxInfo_sequence
[] = {
6640 { &hf_z3950_commonInfo
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_CommonInfo
},
6641 { &hf_z3950_recordSyntax
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_OBJECT_IDENTIFIER
},
6642 { &hf_z3950_name
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
6643 { &hf_z3950_transferSyntaxes
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_T_transferSyntaxes
},
6644 { &hf_z3950_description
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
6645 { &hf_z3950_asn1Module
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
6646 { &hf_z3950_abstractStructure
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_ElementInfo
},
6647 { NULL
, 0, 0, 0, NULL
}
6651 dissect_z3950_RecordSyntaxInfo(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6652 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
6653 RecordSyntaxInfo_sequence
, hf_index
, ett_z3950_RecordSyntaxInfo
);
6659 static const ber_sequence_t AttributeDescription_sequence
[] = {
6660 { &hf_z3950_name
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
6661 { &hf_z3950_description
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
6662 { &hf_z3950_attributeDescription_attributeValue
, BER_CLASS_CON
, 2, BER_FLAGS_NOTCHKTAG
, dissect_z3950_StringOrNumeric
},
6663 { &hf_z3950_equivalentAttributes
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_StringOrNumeric
},
6664 { NULL
, 0, 0, 0, NULL
}
6668 dissect_z3950_AttributeDescription(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6669 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
6670 AttributeDescription_sequence
, hf_index
, ett_z3950_AttributeDescription
);
6676 static const ber_sequence_t SEQUENCE_OF_AttributeDescription_sequence_of
[1] = {
6677 { &hf_z3950_attributeValues_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_AttributeDescription
},
6681 dissect_z3950_SEQUENCE_OF_AttributeDescription(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6682 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
6683 SEQUENCE_OF_AttributeDescription_sequence_of
, hf_index
, ett_z3950_SEQUENCE_OF_AttributeDescription
);
6689 static const ber_sequence_t AttributeType_sequence
[] = {
6690 { &hf_z3950_name
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
6691 { &hf_z3950_description
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
6692 { &hf_z3950_attributeType
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
6693 { &hf_z3950_attributeValues
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_AttributeDescription
},
6694 { NULL
, 0, 0, 0, NULL
}
6698 dissect_z3950_AttributeType(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6699 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
6700 AttributeType_sequence
, hf_index
, ett_z3950_AttributeType
);
6706 static const ber_sequence_t SEQUENCE_OF_AttributeType_sequence_of
[1] = {
6707 { &hf_z3950_attributeSetInfo_attributes_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_AttributeType
},
6711 dissect_z3950_SEQUENCE_OF_AttributeType(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6712 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
6713 SEQUENCE_OF_AttributeType_sequence_of
, hf_index
, ett_z3950_SEQUENCE_OF_AttributeType
);
6719 static const ber_sequence_t AttributeSetInfo_sequence
[] = {
6720 { &hf_z3950_commonInfo
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_CommonInfo
},
6721 { &hf_z3950_attributeSet
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_AttributeSetId
},
6722 { &hf_z3950_name
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
6723 { &hf_z3950_attributeSetInfo_attributes
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_AttributeType
},
6724 { &hf_z3950_description
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
6725 { NULL
, 0, 0, 0, NULL
}
6729 dissect_z3950_AttributeSetInfo(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6730 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
6731 AttributeSetInfo_sequence
, hf_index
, ett_z3950_AttributeSetInfo
);
6737 static const value_string z3950_T_searchCost_vals
[] = {
6747 dissect_z3950_T_searchCost(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6748 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
6755 static const ber_sequence_t T_termLists_item_sequence
[] = {
6756 { &hf_z3950_name
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
6757 { &hf_z3950_title
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
6758 { &hf_z3950_searchCost
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_T_searchCost
},
6759 { &hf_z3950_scanable
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
, dissect_z3950_BOOLEAN
},
6760 { &hf_z3950_broader
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_InternationalString
},
6761 { &hf_z3950_narrower
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_InternationalString
},
6762 { NULL
, 0, 0, 0, NULL
}
6766 dissect_z3950_T_termLists_item(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6767 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
6768 T_termLists_item_sequence
, hf_index
, ett_z3950_T_termLists_item
);
6774 static const ber_sequence_t T_termLists_sequence_of
[1] = {
6775 { &hf_z3950_termLists_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_T_termLists_item
},
6779 dissect_z3950_T_termLists(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6780 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
6781 T_termLists_sequence_of
, hf_index
, ett_z3950_T_termLists
);
6787 static const ber_sequence_t TermListInfo_sequence
[] = {
6788 { &hf_z3950_commonInfo
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_CommonInfo
},
6789 { &hf_z3950_databaseName
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_DatabaseName
},
6790 { &hf_z3950_termLists
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_T_termLists
},
6791 { NULL
, 0, 0, 0, NULL
}
6795 dissect_z3950_TermListInfo(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6796 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
6797 TermListInfo_sequence
, hf_index
, ett_z3950_TermListInfo
);
6803 static const value_string z3950_T_extendedServicesInfo_waitAction_vals
[] = {
6804 { 1, "waitSupported" },
6805 { 2, "waitAlways" },
6806 { 3, "waitNotSupported" },
6814 dissect_z3950_T_extendedServicesInfo_waitAction(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6815 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
6822 static const ber_sequence_t ExtendedServicesInfo_sequence
[] = {
6823 { &hf_z3950_commonInfo
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_CommonInfo
},
6824 { &hf_z3950_extendedServicesInfo_type
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_OBJECT_IDENTIFIER
},
6825 { &hf_z3950_name
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
6826 { &hf_z3950_privateType
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_z3950_BOOLEAN
},
6827 { &hf_z3950_restrictionsApply
, BER_CLASS_CON
, 5, BER_FLAGS_IMPLTAG
, dissect_z3950_BOOLEAN
},
6828 { &hf_z3950_feeApply
, BER_CLASS_CON
, 6, BER_FLAGS_IMPLTAG
, dissect_z3950_BOOLEAN
},
6829 { &hf_z3950_available
, BER_CLASS_CON
, 7, BER_FLAGS_IMPLTAG
, dissect_z3950_BOOLEAN
},
6830 { &hf_z3950_retentionSupported
, BER_CLASS_CON
, 8, BER_FLAGS_IMPLTAG
, dissect_z3950_BOOLEAN
},
6831 { &hf_z3950_extendedServicesInfo_waitAction
, BER_CLASS_CON
, 9, BER_FLAGS_IMPLTAG
, dissect_z3950_T_extendedServicesInfo_waitAction
},
6832 { &hf_z3950_description
, BER_CLASS_CON
, 10, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
6833 { &hf_z3950_specificExplain
, BER_CLASS_CON
, 11, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_EXTERNAL
},
6834 { &hf_z3950_esASN
, BER_CLASS_CON
, 12, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
6835 { NULL
, 0, 0, 0, NULL
}
6839 dissect_z3950_ExtendedServicesInfo(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6840 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
6841 ExtendedServicesInfo_sequence
, hf_index
, ett_z3950_ExtendedServicesInfo
);
6847 static const ber_sequence_t OmittedAttributeInterpretation_sequence
[] = {
6848 { &hf_z3950_defaultValue
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOTCHKTAG
, dissect_z3950_StringOrNumeric
},
6849 { &hf_z3950_defaultDescription
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
6850 { NULL
, 0, 0, 0, NULL
}
6854 dissect_z3950_OmittedAttributeInterpretation(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6855 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
6856 OmittedAttributeInterpretation_sequence
, hf_index
, ett_z3950_OmittedAttributeInterpretation
);
6862 static const ber_sequence_t AttributeValue_sequence
[] = {
6863 { &hf_z3950_attributeValue_value
, BER_CLASS_CON
, 0, BER_FLAGS_NOTCHKTAG
, dissect_z3950_StringOrNumeric
},
6864 { &hf_z3950_description
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
6865 { &hf_z3950_subAttributes
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_StringOrNumeric
},
6866 { &hf_z3950_superAttributes
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_StringOrNumeric
},
6867 { &hf_z3950_partialSupport
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_NULL
},
6868 { NULL
, 0, 0, 0, NULL
}
6872 dissect_z3950_AttributeValue(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6873 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
6874 AttributeValue_sequence
, hf_index
, ett_z3950_AttributeValue
);
6880 static const ber_sequence_t SEQUENCE_OF_AttributeValue_sequence_of
[1] = {
6881 { &hf_z3950_attributeTypeDetails_attributeValues_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_AttributeValue
},
6885 dissect_z3950_SEQUENCE_OF_AttributeValue(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6886 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
6887 SEQUENCE_OF_AttributeValue_sequence_of
, hf_index
, ett_z3950_SEQUENCE_OF_AttributeValue
);
6893 static const ber_sequence_t AttributeTypeDetails_sequence
[] = {
6894 { &hf_z3950_attributeType
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
6895 { &hf_z3950_defaultIfOmitted
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_OmittedAttributeInterpretation
},
6896 { &hf_z3950_attributeTypeDetails_attributeValues
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_AttributeValue
},
6897 { NULL
, 0, 0, 0, NULL
}
6901 dissect_z3950_AttributeTypeDetails(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6902 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
6903 AttributeTypeDetails_sequence
, hf_index
, ett_z3950_AttributeTypeDetails
);
6909 static const ber_sequence_t SEQUENCE_OF_AttributeTypeDetails_sequence_of
[1] = {
6910 { &hf_z3950_attributesByType_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_AttributeTypeDetails
},
6914 dissect_z3950_SEQUENCE_OF_AttributeTypeDetails(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6915 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
6916 SEQUENCE_OF_AttributeTypeDetails_sequence_of
, hf_index
, ett_z3950_SEQUENCE_OF_AttributeTypeDetails
);
6922 static const ber_sequence_t AttributeSetDetails_sequence
[] = {
6923 { &hf_z3950_attributeSet
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_z3950_AttributeSetId
},
6924 { &hf_z3950_attributesByType
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_AttributeTypeDetails
},
6925 { NULL
, 0, 0, 0, NULL
}
6929 dissect_z3950_AttributeSetDetails(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6930 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
6931 AttributeSetDetails_sequence
, hf_index
, ett_z3950_AttributeSetDetails
);
6937 static const ber_sequence_t SEQUENCE_OF_AttributeSetDetails_sequence_of
[1] = {
6938 { &hf_z3950_attributesBySet_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_AttributeSetDetails
},
6942 dissect_z3950_SEQUENCE_OF_AttributeSetDetails(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6943 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
6944 SEQUENCE_OF_AttributeSetDetails_sequence_of
, hf_index
, ett_z3950_SEQUENCE_OF_AttributeSetDetails
);
6950 static const value_string z3950_T_attributeOccurrence_attributeValues_vals
[] = {
6951 { 3, "any-or-none" },
6956 static const ber_choice_t T_attributeOccurrence_attributeValues_choice
[] = {
6957 { 3, &hf_z3950_any_or_none
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_z3950_NULL
},
6958 { 4, &hf_z3950_specific
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_StringOrNumeric
},
6959 { 0, NULL
, 0, 0, 0, NULL
}
6963 dissect_z3950_T_attributeOccurrence_attributeValues(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6964 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
6965 T_attributeOccurrence_attributeValues_choice
, hf_index
, ett_z3950_T_attributeOccurrence_attributeValues
,
6972 static const ber_sequence_t AttributeOccurrence_sequence
[] = {
6973 { &hf_z3950_attributeSet
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_AttributeSetId
},
6974 { &hf_z3950_attributeType
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
6975 { &hf_z3950_mustBeSupplied
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_NULL
},
6976 { &hf_z3950_attributeOccurrence_attributeValues
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_z3950_T_attributeOccurrence_attributeValues
},
6977 { NULL
, 0, 0, 0, NULL
}
6981 dissect_z3950_AttributeOccurrence(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6982 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
6983 AttributeOccurrence_sequence
, hf_index
, ett_z3950_AttributeOccurrence
);
6989 static const ber_sequence_t AttributeCombination_sequence_of
[1] = {
6990 { &hf_z3950_AttributeCombination_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_AttributeOccurrence
},
6994 dissect_z3950_AttributeCombination(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6995 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
6996 AttributeCombination_sequence_of
, hf_index
, ett_z3950_AttributeCombination
);
7002 static const ber_sequence_t SEQUENCE_OF_AttributeCombination_sequence_of
[1] = {
7003 { &hf_z3950_legalCombinations_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_AttributeCombination
},
7007 dissect_z3950_SEQUENCE_OF_AttributeCombination(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7008 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
7009 SEQUENCE_OF_AttributeCombination_sequence_of
, hf_index
, ett_z3950_SEQUENCE_OF_AttributeCombination
);
7015 static const ber_sequence_t AttributeCombinations_sequence
[] = {
7016 { &hf_z3950_defaultAttributeSet
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_z3950_AttributeSetId
},
7017 { &hf_z3950_legalCombinations
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_AttributeCombination
},
7018 { NULL
, 0, 0, 0, NULL
}
7022 dissect_z3950_AttributeCombinations(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7023 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
7024 AttributeCombinations_sequence
, hf_index
, ett_z3950_AttributeCombinations
);
7030 static const ber_sequence_t AttributeDetails_sequence
[] = {
7031 { &hf_z3950_commonInfo
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_CommonInfo
},
7032 { &hf_z3950_databaseName
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_DatabaseName
},
7033 { &hf_z3950_attributesBySet
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_AttributeSetDetails
},
7034 { &hf_z3950_attributeCombinations
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_AttributeCombinations
},
7035 { NULL
, 0, 0, 0, NULL
}
7039 dissect_z3950_AttributeDetails(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7040 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
7041 AttributeDetails_sequence
, hf_index
, ett_z3950_AttributeDetails
);
7047 static const ber_sequence_t T_scanInfo_sequence
[] = {
7048 { &hf_z3950_maxStepSize
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
7049 { &hf_z3950_collatingSequence
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
7050 { &hf_z3950_increasing
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_BOOLEAN
},
7051 { NULL
, 0, 0, 0, NULL
}
7055 dissect_z3950_T_scanInfo(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7056 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
7057 T_scanInfo_sequence
, hf_index
, ett_z3950_T_scanInfo
);
7063 static const ber_sequence_t SEQUENCE_OF_Term_sequence_of
[1] = {
7064 { &hf_z3950_sampleTerms_item
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_z3950_Term
},
7068 dissect_z3950_SEQUENCE_OF_Term(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7069 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
7070 SEQUENCE_OF_Term_sequence_of
, hf_index
, ett_z3950_SEQUENCE_OF_Term
);
7076 static const ber_sequence_t TermListDetails_sequence
[] = {
7077 { &hf_z3950_commonInfo
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_CommonInfo
},
7078 { &hf_z3950_termListName
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
7079 { &hf_z3950_description
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
7080 { &hf_z3950_termListDetails_attributes
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_AttributeCombinations
},
7081 { &hf_z3950_scanInfo
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_T_scanInfo
},
7082 { &hf_z3950_estNumberTerms
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
7083 { &hf_z3950_sampleTerms
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_Term
},
7084 { NULL
, 0, 0, 0, NULL
}
7088 dissect_z3950_TermListDetails(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7089 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
7090 TermListDetails_sequence
, hf_index
, ett_z3950_TermListDetails
);
7096 static const ber_sequence_t RecordTag_sequence
[] = {
7097 { &hf_z3950_qualifier
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOTCHKTAG
, dissect_z3950_StringOrNumeric
},
7098 { &hf_z3950_tagValue
, BER_CLASS_CON
, 1, BER_FLAGS_NOTCHKTAG
, dissect_z3950_StringOrNumeric
},
7099 { NULL
, 0, 0, 0, NULL
}
7103 dissect_z3950_RecordTag(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7104 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
7105 RecordTag_sequence
, hf_index
, ett_z3950_RecordTag
);
7111 static const ber_sequence_t SEQUENCE_OF_Path_sequence_of
[1] = {
7112 { &hf_z3950_schemaTags_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_Path
},
7116 dissect_z3950_SEQUENCE_OF_Path(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7117 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
7118 SEQUENCE_OF_Path_sequence_of
, hf_index
, ett_z3950_SEQUENCE_OF_Path
);
7124 static const ber_sequence_t PerElementDetails_sequence
[] = {
7125 { &hf_z3950_name
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
7126 { &hf_z3950_recordTag
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_RecordTag
},
7127 { &hf_z3950_schemaTags
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_Path
},
7128 { &hf_z3950_maxSize
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
7129 { &hf_z3950_minSize
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
7130 { &hf_z3950_avgSize
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
7131 { &hf_z3950_fixedSize
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
7132 { &hf_z3950_repeatable
, BER_CLASS_CON
, 8, BER_FLAGS_IMPLTAG
, dissect_z3950_BOOLEAN
},
7133 { &hf_z3950_required
, BER_CLASS_CON
, 9, BER_FLAGS_IMPLTAG
, dissect_z3950_BOOLEAN
},
7134 { &hf_z3950_description
, BER_CLASS_CON
, 12, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
7135 { &hf_z3950_contents
, BER_CLASS_CON
, 13, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
7136 { &hf_z3950_billingInfo
, BER_CLASS_CON
, 14, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
7137 { &hf_z3950_restrictions
, BER_CLASS_CON
, 15, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
7138 { &hf_z3950_alternateNames
, BER_CLASS_CON
, 16, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_InternationalString
},
7139 { &hf_z3950_genericNames
, BER_CLASS_CON
, 17, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_InternationalString
},
7140 { &hf_z3950_searchAccess
, BER_CLASS_CON
, 18, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_AttributeCombinations
},
7141 { NULL
, 0, 0, 0, NULL
}
7145 dissect_z3950_PerElementDetails(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7146 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
7147 PerElementDetails_sequence
, hf_index
, ett_z3950_PerElementDetails
);
7153 static const ber_sequence_t SEQUENCE_OF_PerElementDetails_sequence_of
[1] = {
7154 { &hf_z3950_detailsPerElement_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_PerElementDetails
},
7158 dissect_z3950_SEQUENCE_OF_PerElementDetails(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7159 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
7160 SEQUENCE_OF_PerElementDetails_sequence_of
, hf_index
, ett_z3950_SEQUENCE_OF_PerElementDetails
);
7166 static const ber_sequence_t ElementSetDetails_sequence
[] = {
7167 { &hf_z3950_commonInfo
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_CommonInfo
},
7168 { &hf_z3950_databaseName
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_DatabaseName
},
7169 { &hf_z3950_elementSetDetails_elementSetName
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_ElementSetName
},
7170 { &hf_z3950_recordSyntax
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_z3950_OBJECT_IDENTIFIER
},
7171 { &hf_z3950_schema
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
, dissect_z3950_OBJECT_IDENTIFIER
},
7172 { &hf_z3950_description
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
7173 { &hf_z3950_detailsPerElement
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_PerElementDetails
},
7174 { NULL
, 0, 0, 0, NULL
}
7178 dissect_z3950_ElementSetDetails(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7179 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
7180 ElementSetDetails_sequence
, hf_index
, ett_z3950_ElementSetDetails
);
7186 static const ber_sequence_t RetrievalRecordDetails_sequence
[] = {
7187 { &hf_z3950_commonInfo
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_CommonInfo
},
7188 { &hf_z3950_databaseName
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_DatabaseName
},
7189 { &hf_z3950_schema
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_OBJECT_IDENTIFIER
},
7190 { &hf_z3950_recordSyntax
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_z3950_OBJECT_IDENTIFIER
},
7191 { &hf_z3950_description
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
7192 { &hf_z3950_detailsPerElement
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_PerElementDetails
},
7193 { NULL
, 0, 0, 0, NULL
}
7197 dissect_z3950_RetrievalRecordDetails(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7198 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
7199 RetrievalRecordDetails_sequence
, hf_index
, ett_z3950_RetrievalRecordDetails
);
7205 static const value_string z3950_T_sortType_vals
[] = {
7208 { 2, "structured" },
7212 static const ber_choice_t T_sortType_choice
[] = {
7213 { 0, &hf_z3950_character
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_z3950_NULL
},
7214 { 1, &hf_z3950_sortKeyDetails_sortType_numeric
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_NULL
},
7215 { 2, &hf_z3950_sortKeyDetails_sortType_structured
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
7216 { 0, NULL
, 0, 0, 0, NULL
}
7220 dissect_z3950_T_sortType(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7221 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
7222 T_sortType_choice
, hf_index
, ett_z3950_T_sortType
,
7229 static const value_string z3950_T_sortKeyDetails_caseSensitivity_vals
[] = {
7232 { 2, "default-yes" },
7233 { 3, "default-no" },
7239 dissect_z3950_T_sortKeyDetails_caseSensitivity(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7240 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
7247 static const ber_sequence_t SortKeyDetails_sequence
[] = {
7248 { &hf_z3950_description
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
7249 { &hf_z3950_elementSpecifications
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_Specification
},
7250 { &hf_z3950_attributeSpecifications
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_AttributeCombinations
},
7251 { &hf_z3950_sortType
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
, dissect_z3950_T_sortType
},
7252 { &hf_z3950_sortKeyDetails_caseSensitivity
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_T_sortKeyDetails_caseSensitivity
},
7253 { NULL
, 0, 0, 0, NULL
}
7257 dissect_z3950_SortKeyDetails(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7258 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
7259 SortKeyDetails_sequence
, hf_index
, ett_z3950_SortKeyDetails
);
7265 static const ber_sequence_t SEQUENCE_OF_SortKeyDetails_sequence_of
[1] = {
7266 { &hf_z3950_sortKeys_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_SortKeyDetails
},
7270 dissect_z3950_SEQUENCE_OF_SortKeyDetails(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7271 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
7272 SEQUENCE_OF_SortKeyDetails_sequence_of
, hf_index
, ett_z3950_SEQUENCE_OF_SortKeyDetails
);
7278 static const ber_sequence_t SortDetails_sequence
[] = {
7279 { &hf_z3950_commonInfo
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_CommonInfo
},
7280 { &hf_z3950_databaseName
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_DatabaseName
},
7281 { &hf_z3950_sortKeys
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_SortKeyDetails
},
7282 { NULL
, 0, 0, 0, NULL
}
7286 dissect_z3950_SortDetails(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7287 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
7288 SortDetails_sequence
, hf_index
, ett_z3950_SortDetails
);
7294 static const value_string z3950_T_processingContext_vals
[] = {
7298 { 3, "record-presentation" },
7299 { 4, "record-handling" },
7305 dissect_z3950_T_processingContext(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7306 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
7313 static const ber_sequence_t ProcessingInformation_sequence
[] = {
7314 { &hf_z3950_commonInfo
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_CommonInfo
},
7315 { &hf_z3950_databaseName
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_DatabaseName
},
7316 { &hf_z3950_processingContext
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_T_processingContext
},
7317 { &hf_z3950_name
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
7318 { &hf_z3950_oid
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
, dissect_z3950_OBJECT_IDENTIFIER
},
7319 { &hf_z3950_description
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
7320 { &hf_z3950_instructions
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_EXTERNAL
},
7321 { NULL
, 0, 0, 0, NULL
}
7325 dissect_z3950_ProcessingInformation(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7326 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
7327 ProcessingInformation_sequence
, hf_index
, ett_z3950_ProcessingInformation
);
7333 static const value_string z3950_ValueDescription_vals
[] = {
7339 { 5, "valueAndUnit" },
7343 static const ber_choice_t ValueDescription_choice
[] = {
7344 { 0, &hf_z3950_integer
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_NOOWNTAG
, dissect_z3950_INTEGER
},
7345 { 1, &hf_z3950_string
, BER_CLASS_UNI
, BER_UNI_TAG_GeneralString
, BER_FLAGS_NOOWNTAG
, dissect_z3950_InternationalString
},
7346 { 2, &hf_z3950_octets
, BER_CLASS_UNI
, BER_UNI_TAG_OCTETSTRING
, BER_FLAGS_NOOWNTAG
, dissect_z3950_OCTET_STRING
},
7347 { 3, &hf_z3950_oid
, BER_CLASS_UNI
, BER_UNI_TAG_OID
, BER_FLAGS_NOOWNTAG
, dissect_z3950_OBJECT_IDENTIFIER
},
7348 { 4, &hf_z3950_valueDescription_unit
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_Unit
},
7349 { 5, &hf_z3950_valueAndUnit
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_IntUnit
},
7350 { 0, NULL
, 0, 0, 0, NULL
}
7354 dissect_z3950_ValueDescription(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7355 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
7356 ValueDescription_choice
, hf_index
, ett_z3950_ValueDescription
,
7363 static const ber_sequence_t ValueRange_sequence
[] = {
7364 { &hf_z3950_lower
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOTCHKTAG
, dissect_z3950_ValueDescription
},
7365 { &hf_z3950_upper
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOTCHKTAG
, dissect_z3950_ValueDescription
},
7366 { NULL
, 0, 0, 0, NULL
}
7370 dissect_z3950_ValueRange(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7371 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
7372 ValueRange_sequence
, hf_index
, ett_z3950_ValueRange
);
7378 static const ber_sequence_t SEQUENCE_OF_ValueDescription_sequence_of
[1] = {
7379 { &hf_z3950_enumerated_item
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_z3950_ValueDescription
},
7383 dissect_z3950_SEQUENCE_OF_ValueDescription(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7384 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
7385 SEQUENCE_OF_ValueDescription_sequence_of
, hf_index
, ett_z3950_SEQUENCE_OF_ValueDescription
);
7391 static const value_string z3950_ValueSet_vals
[] = {
7393 { 1, "enumerated" },
7397 static const ber_choice_t ValueSet_choice
[] = {
7398 { 0, &hf_z3950_range
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_z3950_ValueRange
},
7399 { 1, &hf_z3950_enumerated
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_ValueDescription
},
7400 { 0, NULL
, 0, 0, 0, NULL
}
7404 dissect_z3950_ValueSet(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7405 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
7406 ValueSet_choice
, hf_index
, ett_z3950_ValueSet
,
7413 static const ber_sequence_t VariantValue_sequence
[] = {
7414 { &hf_z3950_dataType
, BER_CLASS_CON
, 0, 0, dissect_z3950_PrimitiveDataType
},
7415 { &hf_z3950_values
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOTCHKTAG
, dissect_z3950_ValueSet
},
7416 { NULL
, 0, 0, 0, NULL
}
7420 dissect_z3950_VariantValue(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7421 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
7422 VariantValue_sequence
, hf_index
, ett_z3950_VariantValue
);
7428 static const ber_sequence_t VariantType_sequence
[] = {
7429 { &hf_z3950_name
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
7430 { &hf_z3950_description
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
7431 { &hf_z3950_variantType
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
7432 { &hf_z3950_variantValue
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_VariantValue
},
7433 { NULL
, 0, 0, 0, NULL
}
7437 dissect_z3950_VariantType(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7438 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
7439 VariantType_sequence
, hf_index
, ett_z3950_VariantType
);
7445 static const ber_sequence_t SEQUENCE_OF_VariantType_sequence_of
[1] = {
7446 { &hf_z3950_variantTypes_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_VariantType
},
7450 dissect_z3950_SEQUENCE_OF_VariantType(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7451 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
7452 SEQUENCE_OF_VariantType_sequence_of
, hf_index
, ett_z3950_SEQUENCE_OF_VariantType
);
7458 static const ber_sequence_t VariantClass_sequence
[] = {
7459 { &hf_z3950_name
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
7460 { &hf_z3950_description
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
7461 { &hf_z3950_variantClass
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
7462 { &hf_z3950_variantTypes
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_VariantType
},
7463 { NULL
, 0, 0, 0, NULL
}
7467 dissect_z3950_VariantClass(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7468 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
7469 VariantClass_sequence
, hf_index
, ett_z3950_VariantClass
);
7475 static const ber_sequence_t SEQUENCE_OF_VariantClass_sequence_of
[1] = {
7476 { &hf_z3950_variantSetInfo_variants_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_VariantClass
},
7480 dissect_z3950_SEQUENCE_OF_VariantClass(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7481 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
7482 SEQUENCE_OF_VariantClass_sequence_of
, hf_index
, ett_z3950_SEQUENCE_OF_VariantClass
);
7488 static const ber_sequence_t VariantSetInfo_sequence
[] = {
7489 { &hf_z3950_commonInfo
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_CommonInfo
},
7490 { &hf_z3950_variantSet
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_OBJECT_IDENTIFIER
},
7491 { &hf_z3950_name
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
7492 { &hf_z3950_variantSetInfo_variants
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_VariantClass
},
7493 { NULL
, 0, 0, 0, NULL
}
7497 dissect_z3950_VariantSetInfo(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7498 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
7499 VariantSetInfo_sequence
, hf_index
, ett_z3950_VariantSetInfo
);
7505 static const ber_sequence_t Units_sequence
[] = {
7506 { &hf_z3950_name
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
7507 { &hf_z3950_description
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
7508 { &hf_z3950_unit
, BER_CLASS_CON
, 2, BER_FLAGS_NOTCHKTAG
, dissect_z3950_StringOrNumeric
},
7509 { NULL
, 0, 0, 0, NULL
}
7513 dissect_z3950_Units(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7514 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
7515 Units_sequence
, hf_index
, ett_z3950_Units
);
7521 static const ber_sequence_t SEQUENCE_OF_Units_sequence_of
[1] = {
7522 { &hf_z3950_unitType_units_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_Units
},
7526 dissect_z3950_SEQUENCE_OF_Units(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7527 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
7528 SEQUENCE_OF_Units_sequence_of
, hf_index
, ett_z3950_SEQUENCE_OF_Units
);
7534 static const ber_sequence_t UnitType_sequence
[] = {
7535 { &hf_z3950_name
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
7536 { &hf_z3950_description
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
7537 { &hf_z3950_unitType
, BER_CLASS_CON
, 2, BER_FLAGS_NOTCHKTAG
, dissect_z3950_StringOrNumeric
},
7538 { &hf_z3950_unitType_units
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_Units
},
7539 { NULL
, 0, 0, 0, NULL
}
7543 dissect_z3950_UnitType(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7544 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
7545 UnitType_sequence
, hf_index
, ett_z3950_UnitType
);
7551 static const ber_sequence_t SEQUENCE_OF_UnitType_sequence_of
[1] = {
7552 { &hf_z3950_unitInfo_units_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_UnitType
},
7556 dissect_z3950_SEQUENCE_OF_UnitType(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7557 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
7558 SEQUENCE_OF_UnitType_sequence_of
, hf_index
, ett_z3950_SEQUENCE_OF_UnitType
);
7564 static const ber_sequence_t UnitInfo_sequence
[] = {
7565 { &hf_z3950_commonInfo
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_CommonInfo
},
7566 { &hf_z3950_unitSystem
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
7567 { &hf_z3950_description
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
7568 { &hf_z3950_unitInfo_units
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_UnitType
},
7569 { NULL
, 0, 0, 0, NULL
}
7573 dissect_z3950_UnitInfo(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7574 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
7575 UnitInfo_sequence
, hf_index
, ett_z3950_UnitInfo
);
7581 static const ber_sequence_t CategoryInfo_sequence
[] = {
7582 { &hf_z3950_categoryInfo_category
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
7583 { &hf_z3950_originalCategory
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
7584 { &hf_z3950_description
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_HumanString
},
7585 { &hf_z3950_asn1Module
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
7586 { NULL
, 0, 0, 0, NULL
}
7590 dissect_z3950_CategoryInfo(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7591 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
7592 CategoryInfo_sequence
, hf_index
, ett_z3950_CategoryInfo
);
7598 static const ber_sequence_t SEQUENCE_OF_CategoryInfo_sequence_of
[1] = {
7599 { &hf_z3950_categories_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_CategoryInfo
},
7603 dissect_z3950_SEQUENCE_OF_CategoryInfo(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7604 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
7605 SEQUENCE_OF_CategoryInfo_sequence_of
, hf_index
, ett_z3950_SEQUENCE_OF_CategoryInfo
);
7611 static const ber_sequence_t CategoryList_sequence
[] = {
7612 { &hf_z3950_commonInfo
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_CommonInfo
},
7613 { &hf_z3950_categories
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_CategoryInfo
},
7614 { NULL
, 0, 0, 0, NULL
}
7618 dissect_z3950_CategoryList(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7619 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
7620 CategoryList_sequence
, hf_index
, ett_z3950_CategoryList
);
7626 static const value_string z3950_Explain_Record_vals
[] = {
7627 { 0, "targetInfo" },
7628 { 1, "databaseInfo" },
7629 { 2, "schemaInfo" },
7630 { 3, "tagSetInfo" },
7631 { 4, "recordSyntaxInfo" },
7632 { 5, "attributeSetInfo" },
7633 { 6, "termListInfo" },
7634 { 7, "extendedServicesInfo" },
7635 { 8, "attributeDetails" },
7636 { 9, "termListDetails" },
7637 { 10, "elementSetDetails" },
7638 { 11, "retrievalRecordDetails" },
7639 { 12, "sortDetails" },
7640 { 13, "processing" },
7643 { 100, "categoryList" },
7647 static const ber_choice_t Explain_Record_choice
[] = {
7648 { 0, &hf_z3950_targetInfo
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_z3950_TargetInfo
},
7649 { 1, &hf_z3950_databaseInfo
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_DatabaseInfo
},
7650 { 2, &hf_z3950_schemaInfo
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_SchemaInfo
},
7651 { 3, &hf_z3950_tagSetInfo
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_z3950_TagSetInfo
},
7652 { 4, &hf_z3950_recordSyntaxInfo
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
, dissect_z3950_RecordSyntaxInfo
},
7653 { 5, &hf_z3950_attributeSetInfo
, BER_CLASS_CON
, 5, BER_FLAGS_IMPLTAG
, dissect_z3950_AttributeSetInfo
},
7654 { 6, &hf_z3950_termListInfo
, BER_CLASS_CON
, 6, BER_FLAGS_IMPLTAG
, dissect_z3950_TermListInfo
},
7655 { 7, &hf_z3950_extendedServicesInfo
, BER_CLASS_CON
, 7, BER_FLAGS_IMPLTAG
, dissect_z3950_ExtendedServicesInfo
},
7656 { 8, &hf_z3950_attributeDetails
, BER_CLASS_CON
, 8, BER_FLAGS_IMPLTAG
, dissect_z3950_AttributeDetails
},
7657 { 9, &hf_z3950_termListDetails
, BER_CLASS_CON
, 9, BER_FLAGS_IMPLTAG
, dissect_z3950_TermListDetails
},
7658 { 10, &hf_z3950_elementSetDetails
, BER_CLASS_CON
, 10, BER_FLAGS_IMPLTAG
, dissect_z3950_ElementSetDetails
},
7659 { 11, &hf_z3950_retrievalRecordDetails
, BER_CLASS_CON
, 11, BER_FLAGS_IMPLTAG
, dissect_z3950_RetrievalRecordDetails
},
7660 { 12, &hf_z3950_sortDetails
, BER_CLASS_CON
, 12, BER_FLAGS_IMPLTAG
, dissect_z3950_SortDetails
},
7661 { 13, &hf_z3950_processing
, BER_CLASS_CON
, 13, BER_FLAGS_IMPLTAG
, dissect_z3950_ProcessingInformation
},
7662 { 14, &hf_z3950_variants
, BER_CLASS_CON
, 14, BER_FLAGS_IMPLTAG
, dissect_z3950_VariantSetInfo
},
7663 { 15, &hf_z3950_units
, BER_CLASS_CON
, 15, BER_FLAGS_IMPLTAG
, dissect_z3950_UnitInfo
},
7664 { 100, &hf_z3950_categoryList
, BER_CLASS_CON
, 100, BER_FLAGS_IMPLTAG
, dissect_z3950_CategoryList
},
7665 { 0, NULL
, 0, 0, 0, NULL
}
7669 dissect_z3950_Explain_Record(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7670 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
7671 Explain_Record_choice
, hf_index
, ett_z3950_Explain_Record
,
7678 static const ber_sequence_t FormatSpec_sequence
[] = {
7679 { &hf_z3950_formatSpec_type
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
7680 { &hf_z3950_size
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
7681 { &hf_z3950_bestPosn
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
7682 { NULL
, 0, 0, 0, NULL
}
7686 dissect_z3950_FormatSpec(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7687 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
7688 FormatSpec_sequence
, hf_index
, ett_z3950_FormatSpec
);
7694 static const ber_sequence_t SEQUENCE_OF_FormatSpec_sequence_of
[1] = {
7695 { &hf_z3950_briefBib_format_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_FormatSpec
},
7699 dissect_z3950_SEQUENCE_OF_FormatSpec(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7700 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
7701 SEQUENCE_OF_FormatSpec_sequence_of
, hf_index
, ett_z3950_SEQUENCE_OF_FormatSpec
);
7707 static const ber_sequence_t BriefBib_sequence
[] = {
7708 { &hf_z3950_briefBib_title
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
7709 { &hf_z3950_author
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
7710 { &hf_z3950_callNumber
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
7711 { &hf_z3950_recordType
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
7712 { &hf_z3950_bibliographicLevel
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
7713 { &hf_z3950_briefBib_format
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_FormatSpec
},
7714 { &hf_z3950_publicationPlace
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
7715 { &hf_z3950_publicationDate
, BER_CLASS_CON
, 8, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
7716 { &hf_z3950_targetSystemKey
, BER_CLASS_CON
, 9, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
7717 { &hf_z3950_satisfyingElement
, BER_CLASS_CON
, 10, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
7718 { &hf_z3950_rank
, BER_CLASS_CON
, 11, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
7719 { &hf_z3950_documentId
, BER_CLASS_CON
, 12, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
7720 { &hf_z3950_abstract
, BER_CLASS_CON
, 13, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
7721 { &hf_z3950_otherInfo
, BER_CLASS_CON
, 201, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_z3950_OtherInformation
},
7722 { NULL
, 0, 0, 0, NULL
}
7726 dissect_z3950_BriefBib(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7727 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
7728 BriefBib_sequence
, hf_index
, ett_z3950_BriefBib
);
7734 static const ber_sequence_t SEQUENCE_OF_TaggedElement_sequence_of
[1] = {
7735 { &hf_z3950_subtree_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_TaggedElement
},
7739 dissect_z3950_SEQUENCE_OF_TaggedElement(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7740 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
7741 SEQUENCE_OF_TaggedElement_sequence_of
, hf_index
, ett_z3950_SEQUENCE_OF_TaggedElement
);
7747 static const value_string z3950_ElementData_vals
[] = {
7753 { 5, "trueOrFalse" },
7756 { 8, "elementNotThere" },
7757 { 9, "elementEmpty" },
7758 { 10, "noDataRequested" },
7759 { 11, "diagnostic" },
7764 static const ber_choice_t ElementData_choice
[] = {
7765 { 0, &hf_z3950_octets
, BER_CLASS_UNI
, BER_UNI_TAG_OCTETSTRING
, BER_FLAGS_NOOWNTAG
, dissect_z3950_OCTET_STRING
},
7766 { 1, &hf_z3950_numeric
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_NOOWNTAG
, dissect_z3950_INTEGER
},
7767 { 2, &hf_z3950_date
, BER_CLASS_UNI
, BER_UNI_TAG_GeneralizedTime
, BER_FLAGS_NOOWNTAG
, dissect_z3950_GeneralizedTime
},
7768 { 3, &hf_z3950_ext
, BER_CLASS_UNI
, BER_UNI_TAG_EXTERNAL
, BER_FLAGS_NOOWNTAG
, dissect_z3950_EXTERNAL
},
7769 { 4, &hf_z3950_string
, BER_CLASS_UNI
, BER_UNI_TAG_GeneralString
, BER_FLAGS_NOOWNTAG
, dissect_z3950_InternationalString
},
7770 { 5, &hf_z3950_trueOrFalse
, BER_CLASS_UNI
, BER_UNI_TAG_BOOLEAN
, BER_FLAGS_NOOWNTAG
, dissect_z3950_BOOLEAN
},
7771 { 6, &hf_z3950_oid
, BER_CLASS_UNI
, BER_UNI_TAG_OID
, BER_FLAGS_NOOWNTAG
, dissect_z3950_OBJECT_IDENTIFIER
},
7772 { 7, &hf_z3950_intUnit
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_IntUnit
},
7773 { 8, &hf_z3950_elementNotThere
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_NULL
},
7774 { 9, &hf_z3950_elementEmpty
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_z3950_NULL
},
7775 { 10, &hf_z3950_noDataRequested
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
, dissect_z3950_NULL
},
7776 { 11, &hf_z3950_elementData_diagnostic
, BER_CLASS_CON
, 5, BER_FLAGS_IMPLTAG
, dissect_z3950_EXTERNAL
},
7777 { 12, &hf_z3950_subtree
, BER_CLASS_CON
, 6, 0, dissect_z3950_SEQUENCE_OF_TaggedElement
},
7778 { 0, NULL
, 0, 0, 0, NULL
}
7782 dissect_z3950_ElementData(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7783 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
7784 ElementData_choice
, hf_index
, ett_z3950_ElementData
,
7791 static const ber_sequence_t Order_sequence
[] = {
7792 { &hf_z3950_ascending
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_BOOLEAN
},
7793 { &hf_z3950_order
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
7794 { NULL
, 0, 0, 0, NULL
}
7798 dissect_z3950_Order(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7799 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
7800 Order_sequence
, hf_index
, ett_z3950_Order
);
7806 static const value_string z3950_T_usage_type_vals
[] = {
7807 { 1, "redistributable" },
7808 { 2, "restricted" },
7809 { 3, "licensePointer" },
7815 dissect_z3950_T_usage_type(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7816 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
7823 static const ber_sequence_t Usage_sequence
[] = {
7824 { &hf_z3950_usage_type
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_T_usage_type
},
7825 { &hf_z3950_restriction
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
7826 { NULL
, 0, 0, 0, NULL
}
7830 dissect_z3950_Usage(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7831 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
7832 Usage_sequence
, hf_index
, ett_z3950_Usage
);
7838 static const ber_sequence_t HitVector_sequence
[] = {
7839 { &hf_z3950_satisfier
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_z3950_Term
},
7840 { &hf_z3950_offsetIntoElement
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_IntUnit
},
7841 { &hf_z3950_length
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_IntUnit
},
7842 { &hf_z3950_hitRank
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
7843 { &hf_z3950_targetToken
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_OCTET_STRING
},
7844 { NULL
, 0, 0, 0, NULL
}
7848 dissect_z3950_HitVector(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7849 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
7850 HitVector_sequence
, hf_index
, ett_z3950_HitVector
);
7856 static const ber_sequence_t SEQUENCE_OF_HitVector_sequence_of
[1] = {
7857 { &hf_z3950_hits_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_HitVector
},
7861 dissect_z3950_SEQUENCE_OF_HitVector(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7862 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
7863 SEQUENCE_OF_HitVector_sequence_of
, hf_index
, ett_z3950_SEQUENCE_OF_HitVector
);
7869 static const value_string z3950_T_variant_triples_item_value_vals
[] = {
7872 { 2, "octetString" },
7877 { 7, "valueAndUnit" },
7881 static const ber_choice_t T_variant_triples_item_value_choice
[] = {
7882 { 0, &hf_z3950_integer
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_NOOWNTAG
, dissect_z3950_INTEGER
},
7883 { 1, &hf_z3950_string
, BER_CLASS_UNI
, BER_UNI_TAG_GeneralString
, BER_FLAGS_NOOWNTAG
, dissect_z3950_InternationalString
},
7884 { 2, &hf_z3950_octetString
, BER_CLASS_UNI
, BER_UNI_TAG_OCTETSTRING
, BER_FLAGS_NOOWNTAG
, dissect_z3950_OCTET_STRING
},
7885 { 3, &hf_z3950_oid
, BER_CLASS_UNI
, BER_UNI_TAG_OID
, BER_FLAGS_NOOWNTAG
, dissect_z3950_OBJECT_IDENTIFIER
},
7886 { 4, &hf_z3950_boolean
, BER_CLASS_UNI
, BER_UNI_TAG_BOOLEAN
, BER_FLAGS_NOOWNTAG
, dissect_z3950_BOOLEAN
},
7887 { 5, &hf_z3950_null
, BER_CLASS_UNI
, BER_UNI_TAG_NULL
, BER_FLAGS_NOOWNTAG
, dissect_z3950_NULL
},
7888 { 6, &hf_z3950_variant_triples_item_value_unit
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_Unit
},
7889 { 7, &hf_z3950_valueAndUnit
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_IntUnit
},
7890 { 0, NULL
, 0, 0, 0, NULL
}
7894 dissect_z3950_T_variant_triples_item_value(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7895 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
7896 T_variant_triples_item_value_choice
, hf_index
, ett_z3950_T_variant_triples_item_value
,
7903 static const ber_sequence_t T_triples_item_sequence
[] = {
7904 { &hf_z3950_variantSetId
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_OBJECT_IDENTIFIER
},
7905 { &hf_z3950_class
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
7906 { &hf_z3950_type
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
7907 { &hf_z3950_variant_triples_item_value
, BER_CLASS_CON
, 3, 0, dissect_z3950_T_variant_triples_item_value
},
7908 { NULL
, 0, 0, 0, NULL
}
7912 dissect_z3950_T_triples_item(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7913 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
7914 T_triples_item_sequence
, hf_index
, ett_z3950_T_triples_item
);
7920 static const ber_sequence_t T_triples_sequence_of
[1] = {
7921 { &hf_z3950_triples_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_T_triples_item
},
7925 dissect_z3950_T_triples(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7926 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
7927 T_triples_sequence_of
, hf_index
, ett_z3950_T_triples
);
7933 static const ber_sequence_t Variant_sequence
[] = {
7934 { &hf_z3950_globalVariantSetId
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_OBJECT_IDENTIFIER
},
7935 { &hf_z3950_triples
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_T_triples
},
7936 { NULL
, 0, 0, 0, NULL
}
7940 dissect_z3950_Variant(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7941 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
7942 Variant_sequence
, hf_index
, ett_z3950_Variant
);
7948 static const ber_sequence_t SEQUENCE_OF_Variant_sequence_of
[1] = {
7949 { &hf_z3950_supportedVariants_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_Variant
},
7953 dissect_z3950_SEQUENCE_OF_Variant(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7954 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
7955 SEQUENCE_OF_Variant_sequence_of
, hf_index
, ett_z3950_SEQUENCE_OF_Variant
);
7961 static const ber_sequence_t TagPath_item_sequence
[] = {
7962 { &hf_z3950_tagType
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
7963 { &hf_z3950_tagValue
, BER_CLASS_CON
, 2, BER_FLAGS_NOTCHKTAG
, dissect_z3950_StringOrNumeric
},
7964 { &hf_z3950_tagOccurrence
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
7965 { NULL
, 0, 0, 0, NULL
}
7969 dissect_z3950_TagPath_item(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7970 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
7971 TagPath_item_sequence
, hf_index
, ett_z3950_TagPath_item
);
7977 static const ber_sequence_t TagPath_sequence_of
[1] = {
7978 { &hf_z3950_TagPath_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_TagPath_item
},
7982 dissect_z3950_TagPath(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7983 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
7984 TagPath_sequence_of
, hf_index
, ett_z3950_TagPath
);
7990 static const ber_sequence_t ElementMetaData_sequence
[] = {
7991 { &hf_z3950_seriesOrder
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_Order
},
7992 { &hf_z3950_usageRight
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_Usage
},
7993 { &hf_z3950_hits
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_HitVector
},
7994 { &hf_z3950_displayName
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
7995 { &hf_z3950_supportedVariants
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_Variant
},
7996 { &hf_z3950_message
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
7997 { &hf_z3950_elementDescriptor
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_OCTET_STRING
},
7998 { &hf_z3950_surrogateFor
, BER_CLASS_CON
, 8, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_TagPath
},
7999 { &hf_z3950_surrogateElement
, BER_CLASS_CON
, 9, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_TagPath
},
8000 { &hf_z3950_other
, BER_CLASS_CON
, 99, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_EXTERNAL
},
8001 { NULL
, 0, 0, 0, NULL
}
8005 dissect_z3950_ElementMetaData(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8006 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
8007 ElementMetaData_sequence
, hf_index
, ett_z3950_ElementMetaData
);
8013 static const ber_sequence_t TaggedElement_sequence
[] = {
8014 { &hf_z3950_tagType
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
8015 { &hf_z3950_tagValue
, BER_CLASS_CON
, 2, BER_FLAGS_NOTCHKTAG
, dissect_z3950_StringOrNumeric
},
8016 { &hf_z3950_tagOccurrence
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
8017 { &hf_z3950_taggedElement_content
, BER_CLASS_CON
, 4, BER_FLAGS_NOTCHKTAG
, dissect_z3950_ElementData
},
8018 { &hf_z3950_metaData
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_ElementMetaData
},
8019 { &hf_z3950_appliedVariant
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_Variant
},
8020 { NULL
, 0, 0, 0, NULL
}
8024 dissect_z3950_TaggedElement(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8025 // TaggedElement -> ElementData -> ElementData/subtree -> TaggedElement
8026 actx
->pinfo
->dissection_depth
+= 3;
8027 increment_dissection_depth(actx
->pinfo
);
8028 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
8029 TaggedElement_sequence
, hf_index
, ett_z3950_TaggedElement
);
8031 actx
->pinfo
->dissection_depth
-= 3;
8032 decrement_dissection_depth(actx
->pinfo
);
8037 static const ber_sequence_t GenericRecord_sequence_of
[1] = {
8038 { &hf_z3950_GenericRecord_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_TaggedElement
},
8042 dissect_z3950_GenericRecord(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8043 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
8044 GenericRecord_sequence_of
, hf_index
, ett_z3950_GenericRecord
);
8050 static const value_string z3950_T_taskStatus_vals
[] = {
8060 dissect_z3950_T_taskStatus(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8061 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
8068 static const ber_sequence_t TaskPackage_sequence
[] = {
8069 { &hf_z3950_packageType
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_OBJECT_IDENTIFIER
},
8070 { &hf_z3950_packageName
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
8071 { &hf_z3950_userId
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
8072 { &hf_z3950_retentionTime
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_IntUnit
},
8073 { &hf_z3950_permissions
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_Permissions
},
8074 { &hf_z3950_taskPackage_description
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
8075 { &hf_z3950_targetReference
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_OCTET_STRING
},
8076 { &hf_z3950_creationDateTime
, BER_CLASS_CON
, 8, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_GeneralizedTime
},
8077 { &hf_z3950_taskStatus
, BER_CLASS_CON
, 9, BER_FLAGS_IMPLTAG
, dissect_z3950_T_taskStatus
},
8078 { &hf_z3950_packageDiagnostics
, BER_CLASS_CON
, 10, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_DiagRec
},
8079 { &hf_z3950_taskSpecificParameters
, BER_CLASS_CON
, 11, BER_FLAGS_IMPLTAG
, dissect_z3950_EXTERNAL
},
8080 { NULL
, 0, 0, 0, NULL
}
8084 dissect_z3950_TaskPackage(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8085 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
8086 TaskPackage_sequence
, hf_index
, ett_z3950_TaskPackage
);
8092 static const value_string z3950_T_promptId_enummeratedPrompt_type_vals
[] = {
8096 { 3, "newPassword" },
8104 dissect_z3950_T_promptId_enummeratedPrompt_type(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8105 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
8112 static const ber_sequence_t T_enummeratedPrompt_sequence
[] = {
8113 { &hf_z3950_promptId_enummeratedPrompt_type
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_T_promptId_enummeratedPrompt_type
},
8114 { &hf_z3950_suggestedString
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
8115 { NULL
, 0, 0, 0, NULL
}
8119 dissect_z3950_T_enummeratedPrompt(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8120 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
8121 T_enummeratedPrompt_sequence
, hf_index
, ett_z3950_T_enummeratedPrompt
);
8127 static const value_string z3950_PromptId_vals
[] = {
8128 { 1, "enummeratedPrompt" },
8129 { 2, "nonEnumeratedPrompt" },
8133 static const ber_choice_t PromptId_choice
[] = {
8134 { 1, &hf_z3950_enummeratedPrompt
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_T_enummeratedPrompt
},
8135 { 2, &hf_z3950_nonEnumeratedPrompt
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
8136 { 0, NULL
, 0, 0, 0, NULL
}
8140 dissect_z3950_PromptId(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8141 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
8142 PromptId_choice
, hf_index
, ett_z3950_PromptId
,
8149 static const ber_sequence_t Encryption_sequence
[] = {
8150 { &hf_z3950_cryptType
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_OCTET_STRING
},
8151 { &hf_z3950_credential
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_OCTET_STRING
},
8152 { &hf_z3950_data
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_z3950_OCTET_STRING
},
8153 { NULL
, 0, 0, 0, NULL
}
8157 dissect_z3950_Encryption(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8158 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
8159 Encryption_sequence
, hf_index
, ett_z3950_Encryption
);
8165 static const value_string z3950_T_promptInfo_vals
[] = {
8171 static const ber_choice_t T_promptInfo_choice
[] = {
8172 { 1, &hf_z3950_challenge_item_promptInfo_character
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
8173 { 2, &hf_z3950_encrypted
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_Encryption
},
8174 { 0, NULL
, 0, 0, 0, NULL
}
8178 dissect_z3950_T_promptInfo(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8179 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
8180 T_promptInfo_choice
, hf_index
, ett_z3950_T_promptInfo
,
8187 static const value_string z3950_T_challenge_item_dataType_vals
[] = {
8191 { 4, "alphaNumeric" },
8199 dissect_z3950_T_challenge_item_dataType(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8200 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
8207 static const ber_sequence_t Challenge_item_sequence
[] = {
8208 { &hf_z3950_promptId
, BER_CLASS_CON
, 1, BER_FLAGS_NOTCHKTAG
, dissect_z3950_PromptId
},
8209 { &hf_z3950_defaultResponse
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
8210 { &hf_z3950_promptInfo
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
, dissect_z3950_T_promptInfo
},
8211 { &hf_z3950_regExpr
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
8212 { &hf_z3950_responseRequired
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_NULL
},
8213 { &hf_z3950_allowedValues
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_InternationalString
},
8214 { &hf_z3950_shouldSave
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_NULL
},
8215 { &hf_z3950_challenge_item_dataType
, BER_CLASS_CON
, 8, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_T_challenge_item_dataType
},
8216 { &hf_z3950_challenge_item_diagnostic
, BER_CLASS_CON
, 9, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_EXTERNAL
},
8217 { NULL
, 0, 0, 0, NULL
}
8221 dissect_z3950_Challenge_item(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8222 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
8223 Challenge_item_sequence
, hf_index
, ett_z3950_Challenge_item
);
8229 static const ber_sequence_t Challenge_sequence_of
[1] = {
8230 { &hf_z3950_Challenge_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_Challenge_item
},
8234 dissect_z3950_Challenge(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8235 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
8236 Challenge_sequence_of
, hf_index
, ett_z3950_Challenge
);
8242 static const value_string z3950_T_promptResponse_vals
[] = {
8245 { 3, "acknowledge" },
8246 { 4, "diagnostic" },
8251 static const ber_choice_t T_promptResponse_choice
[] = {
8252 { 1, &hf_z3950_string
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
8253 { 2, &hf_z3950_accept
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_BOOLEAN
},
8254 { 3, &hf_z3950_acknowledge
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_z3950_NULL
},
8255 { 4, &hf_z3950_diagnostic
, BER_CLASS_CON
, 4, 0, dissect_z3950_DiagRec
},
8256 { 5, &hf_z3950_encrypted
, BER_CLASS_CON
, 5, BER_FLAGS_IMPLTAG
, dissect_z3950_Encryption
},
8257 { 0, NULL
, 0, 0, 0, NULL
}
8261 dissect_z3950_T_promptResponse(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8262 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
8263 T_promptResponse_choice
, hf_index
, ett_z3950_T_promptResponse
,
8270 static const ber_sequence_t Response_item_sequence
[] = {
8271 { &hf_z3950_promptId
, BER_CLASS_CON
, 1, BER_FLAGS_NOTCHKTAG
, dissect_z3950_PromptId
},
8272 { &hf_z3950_promptResponse
, BER_CLASS_CON
, 2, 0, dissect_z3950_T_promptResponse
},
8273 { NULL
, 0, 0, 0, NULL
}
8277 dissect_z3950_Response_item(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8278 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
8279 Response_item_sequence
, hf_index
, ett_z3950_Response_item
);
8285 static const ber_sequence_t Response_sequence_of
[1] = {
8286 { &hf_z3950_Response_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_Response_item
},
8290 dissect_z3950_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8291 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
8292 Response_sequence_of
, hf_index
, ett_z3950_Response
);
8298 static const value_string z3950_PromptObject_vals
[] = {
8304 static const ber_choice_t PromptObject_choice
[] = {
8305 { 1, &hf_z3950_challenge
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_Challenge
},
8306 { 2, &hf_z3950_response
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_Response
},
8307 { 0, NULL
, 0, 0, 0, NULL
}
8311 dissect_z3950_PromptObject(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8312 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
8313 PromptObject_choice
, hf_index
, ett_z3950_PromptObject
,
8320 static const ber_sequence_t DRNType_sequence
[] = {
8321 { &hf_z3950_dRNType_userId
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_OCTET_STRING
},
8322 { &hf_z3950_salt
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_OCTET_STRING
},
8323 { &hf_z3950_randomNumber
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_z3950_OCTET_STRING
},
8324 { NULL
, 0, 0, 0, NULL
}
8328 dissect_z3950_DRNType(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8329 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
8330 DRNType_sequence
, hf_index
, ett_z3950_DRNType
);
8336 static const value_string z3950_DES_RN_Object_vals
[] = {
8342 static const ber_choice_t DES_RN_Object_choice
[] = {
8343 { 1, &hf_z3950_dES_RN_Object_challenge
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_DRNType
},
8344 { 2, &hf_z3950_rES_RN_Object_response
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_DRNType
},
8345 { 0, NULL
, 0, 0, 0, NULL
}
8349 dissect_z3950_DES_RN_Object(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8350 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
8351 DES_RN_Object_choice
, hf_index
, ett_z3950_DES_RN_Object
,
8358 static const ber_sequence_t KRBRequest_sequence
[] = {
8359 { &hf_z3950_service
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
8360 { &hf_z3950_instance
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
8361 { &hf_z3950_realm
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
8362 { NULL
, 0, 0, 0, NULL
}
8366 dissect_z3950_KRBRequest(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8367 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
8368 KRBRequest_sequence
, hf_index
, ett_z3950_KRBRequest
);
8374 static const ber_sequence_t KRBResponse_sequence
[] = {
8375 { &hf_z3950_userid
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
8376 { &hf_z3950_ticket
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_OCTET_STRING
},
8377 { NULL
, 0, 0, 0, NULL
}
8381 dissect_z3950_KRBResponse(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8382 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
8383 KRBResponse_sequence
, hf_index
, ett_z3950_KRBResponse
);
8389 static const value_string z3950_KRBObject_vals
[] = {
8395 static const ber_choice_t KRBObject_choice
[] = {
8396 { 1, &hf_z3950_kRBObject_challenge
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_KRBRequest
},
8397 { 2, &hf_z3950_kRBObject_response
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_KRBResponse
},
8398 { 0, NULL
, 0, 0, 0, NULL
}
8402 dissect_z3950_KRBObject(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8403 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
8404 KRBObject_choice
, hf_index
, ett_z3950_KRBObject
,
8411 static const ber_sequence_t T_queryExpression_term_sequence
[] = {
8412 { &hf_z3950_queryTerm
, BER_CLASS_CON
, 1, BER_FLAGS_NOTCHKTAG
, dissect_z3950_Term
},
8413 { &hf_z3950_termComment
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
8414 { NULL
, 0, 0, 0, NULL
}
8418 dissect_z3950_T_queryExpression_term(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8419 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
8420 T_queryExpression_term_sequence
, hf_index
, ett_z3950_T_queryExpression_term
);
8426 static const value_string z3950_QueryExpression_vals
[] = {
8432 static const ber_choice_t QueryExpression_choice
[] = {
8433 { 1, &hf_z3950_queryExpression_term
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_T_queryExpression_term
},
8434 { 2, &hf_z3950_query
, BER_CLASS_CON
, 2, 0, dissect_z3950_Query
},
8435 { 0, NULL
, 0, 0, 0, NULL
}
8439 dissect_z3950_QueryExpression(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8440 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
8441 QueryExpression_choice
, hf_index
, ett_z3950_QueryExpression
,
8448 static const value_string z3950_T_databases_vals
[] = {
8454 static const ber_choice_t T_databases_choice
[] = {
8455 { 1, &hf_z3950_all
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_z3950_NULL
},
8456 { 2, &hf_z3950_list
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_SEQUENCE_OF_DatabaseName
},
8457 { 0, NULL
, 0, 0, 0, NULL
}
8461 dissect_z3950_T_databases(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8462 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
8463 T_databases_choice
, hf_index
, ett_z3950_T_databases
,
8470 static const ber_sequence_t ResultsByDB_item_sequence
[] = {
8471 { &hf_z3950_databases
, BER_CLASS_CON
, 1, 0, dissect_z3950_T_databases
},
8472 { &hf_z3950_count
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
8473 { &hf_z3950_resultSetName
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
8474 { NULL
, 0, 0, 0, NULL
}
8478 dissect_z3950_ResultsByDB_item(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8479 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
8480 ResultsByDB_item_sequence
, hf_index
, ett_z3950_ResultsByDB_item
);
8486 static const ber_sequence_t ResultsByDB_sequence_of
[1] = {
8487 { &hf_z3950_ResultsByDB_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_ResultsByDB_item
},
8491 dissect_z3950_ResultsByDB(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8492 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
8493 ResultsByDB_sequence_of
, hf_index
, ett_z3950_ResultsByDB
);
8499 static const ber_sequence_t SearchInfoReport_item_sequence
[] = {
8500 { &hf_z3950_subqueryId
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_InternationalString
},
8501 { &hf_z3950_fullQuery
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_z3950_BOOLEAN
},
8502 { &hf_z3950_subqueryExpression
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOTCHKTAG
, dissect_z3950_QueryExpression
},
8503 { &hf_z3950_subqueryInterpretation
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOTCHKTAG
, dissect_z3950_QueryExpression
},
8504 { &hf_z3950_subqueryRecommendation
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOTCHKTAG
, dissect_z3950_QueryExpression
},
8505 { &hf_z3950_subqueryCount
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_INTEGER
},
8506 { &hf_z3950_subqueryWeight
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_IntUnit
},
8507 { &hf_z3950_resultsByDB
, BER_CLASS_CON
, 8, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_z3950_ResultsByDB
},
8508 { NULL
, 0, 0, 0, NULL
}
8512 dissect_z3950_SearchInfoReport_item(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8513 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
8514 SearchInfoReport_item_sequence
, hf_index
, ett_z3950_SearchInfoReport_item
);
8520 static const ber_sequence_t SearchInfoReport_sequence_of
[1] = {
8521 { &hf_z3950_SearchInfoReport_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_z3950_SearchInfoReport_item
},
8525 dissect_z3950_SearchInfoReport(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8526 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
8527 SearchInfoReport_sequence_of
, hf_index
, ett_z3950_SearchInfoReport
);
8534 static int dissect_OCLC_UserInformation_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
8536 asn1_ctx_t asn1_ctx
;
8537 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
8538 offset
= dissect_z3950_OCLC_UserInformation(false, tvb
, offset
, &asn1_ctx
, tree
, hf_z3950_OCLC_UserInformation_PDU
);
8541 static int dissect_SutrsRecord_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
8543 asn1_ctx_t asn1_ctx
;
8544 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
8545 offset
= dissect_z3950_SutrsRecord(false, tvb
, offset
, &asn1_ctx
, tree
, hf_z3950_SutrsRecord_PDU
);
8548 static int dissect_OPACRecord_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
8550 asn1_ctx_t asn1_ctx
;
8551 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
8552 offset
= dissect_z3950_OPACRecord(false, tvb
, offset
, &asn1_ctx
, tree
, hf_z3950_OPACRecord_PDU
);
8555 static int dissect_DiagnosticFormat_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
8557 asn1_ctx_t asn1_ctx
;
8558 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
8559 offset
= dissect_z3950_DiagnosticFormat(false, tvb
, offset
, &asn1_ctx
, tree
, hf_z3950_DiagnosticFormat_PDU
);
8562 static int dissect_Explain_Record_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
8564 asn1_ctx_t asn1_ctx
;
8565 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
8566 offset
= dissect_z3950_Explain_Record(false, tvb
, offset
, &asn1_ctx
, tree
, hf_z3950_Explain_Record_PDU
);
8569 static int dissect_BriefBib_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
8571 asn1_ctx_t asn1_ctx
;
8572 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
8573 offset
= dissect_z3950_BriefBib(false, tvb
, offset
, &asn1_ctx
, tree
, hf_z3950_BriefBib_PDU
);
8576 static int dissect_GenericRecord_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
8578 asn1_ctx_t asn1_ctx
;
8579 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
8580 offset
= dissect_z3950_GenericRecord(false, tvb
, offset
, &asn1_ctx
, tree
, hf_z3950_GenericRecord_PDU
);
8583 static int dissect_TaskPackage_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
8585 asn1_ctx_t asn1_ctx
;
8586 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
8587 offset
= dissect_z3950_TaskPackage(false, tvb
, offset
, &asn1_ctx
, tree
, hf_z3950_TaskPackage_PDU
);
8590 static int dissect_PromptObject_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
8592 asn1_ctx_t asn1_ctx
;
8593 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
8594 offset
= dissect_z3950_PromptObject(false, tvb
, offset
, &asn1_ctx
, tree
, hf_z3950_PromptObject_PDU
);
8597 static int dissect_DES_RN_Object_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
8599 asn1_ctx_t asn1_ctx
;
8600 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
8601 offset
= dissect_z3950_DES_RN_Object(false, tvb
, offset
, &asn1_ctx
, tree
, hf_z3950_DES_RN_Object_PDU
);
8604 static int dissect_KRBObject_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
8606 asn1_ctx_t asn1_ctx
;
8607 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
8608 offset
= dissect_z3950_KRBObject(false, tvb
, offset
, &asn1_ctx
, tree
, hf_z3950_KRBObject_PDU
);
8611 static int dissect_SearchInfoReport_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
8613 asn1_ctx_t asn1_ctx
;
8614 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
8615 offset
= dissect_z3950_SearchInfoReport(false, tvb
, offset
, &asn1_ctx
, tree
, hf_z3950_SearchInfoReport_PDU
);
8621 dissect_z3950(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*tree
, void *data _U_
)
8623 proto_item
*z3950_item
= NULL
;
8624 proto_tree
*z3950_tree
= NULL
;
8626 asn1_ctx_t asn1_ctx
;
8627 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
8630 /* make entry in the Protocol column on summary display */
8631 col_set_str(pinfo
->cinfo
, COL_PROTOCOL
, PSNAME
);
8633 /* create the z3950 protocol tree */
8634 z3950_item
= proto_tree_add_item(tree
, proto_z3950
, tvb
, 0, -1, ENC_NA
);
8635 z3950_tree
= proto_item_add_subtree(z3950_item
, ett_z3950
);
8637 return dissect_z3950_PDU(false, tvb
, offset
, &asn1_ctx
, z3950_tree
, -1);
8641 get_z3950_pdu_len(packet_info
*pinfo _U_
, tvbuff_t
*tvb
, int offset
, void *data _U_
)
8644 unsigned ber_offset
;
8646 /* Skip past identifier */
8647 ber_offset
= get_ber_identifier(tvb
, offset
, NULL
, NULL
, NULL
);
8648 ber_offset
= get_ber_length(tvb
, ber_offset
, &plen
, NULL
);
8649 plen
+= (ber_offset
- offset
);
8651 CATCH(ReportedBoundsError
) {
8660 dissect_z3950_segment(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*tree
, void * data _U_
)
8663 /* Min length of 8 assumes 3 for identifier and 5 for length. */
8664 tcp_dissect_pdus(tvb
, pinfo
, tree
, z3950_desegment
, 8, get_z3950_pdu_len
, dissect_z3950
, data
);
8665 return tvb_captured_length(tvb
);
8668 /*--- proto_register_z3950 -------------------------------------------*/
8669 void proto_register_z3950(void) {
8671 /* List of fields */
8672 static hf_register_info hf
[] = {
8674 { &hf_z3950_OCLC_UserInformation_PDU
,
8675 { "OCLC-UserInformation", "z3950.OCLC_UserInformation_element",
8676 FT_NONE
, BASE_NONE
, NULL
, 0,
8678 { &hf_z3950_SutrsRecord_PDU
,
8679 { "SutrsRecord", "z3950.SutrsRecord",
8680 FT_STRING
, BASE_NONE
, NULL
, 0,
8682 { &hf_z3950_OPACRecord_PDU
,
8683 { "OPACRecord", "z3950.OPACRecord_element",
8684 FT_NONE
, BASE_NONE
, NULL
, 0,
8686 { &hf_z3950_DiagnosticFormat_PDU
,
8687 { "DiagnosticFormat", "z3950.DiagnosticFormat",
8688 FT_UINT32
, BASE_DEC
, NULL
, 0,
8690 { &hf_z3950_Explain_Record_PDU
,
8691 { "Explain-Record", "z3950.Explain_Record",
8692 FT_UINT32
, BASE_DEC
, VALS(z3950_Explain_Record_vals
), 0,
8694 { &hf_z3950_BriefBib_PDU
,
8695 { "BriefBib", "z3950.BriefBib_element",
8696 FT_NONE
, BASE_NONE
, NULL
, 0,
8698 { &hf_z3950_GenericRecord_PDU
,
8699 { "GenericRecord", "z3950.GenericRecord",
8700 FT_UINT32
, BASE_DEC
, NULL
, 0,
8702 { &hf_z3950_TaskPackage_PDU
,
8703 { "TaskPackage", "z3950.TaskPackage_element",
8704 FT_NONE
, BASE_NONE
, NULL
, 0,
8706 { &hf_z3950_PromptObject_PDU
,
8707 { "PromptObject", "z3950.PromptObject",
8708 FT_UINT32
, BASE_DEC
, VALS(z3950_PromptObject_vals
), 0,
8710 { &hf_z3950_DES_RN_Object_PDU
,
8711 { "DES-RN-Object", "z3950.DES_RN_Object",
8712 FT_UINT32
, BASE_DEC
, VALS(z3950_DES_RN_Object_vals
), 0,
8714 { &hf_z3950_KRBObject_PDU
,
8715 { "KRBObject", "z3950.KRBObject",
8716 FT_UINT32
, BASE_DEC
, VALS(z3950_KRBObject_vals
), 0,
8718 { &hf_z3950_SearchInfoReport_PDU
,
8719 { "SearchInfoReport", "z3950.SearchInfoReport",
8720 FT_UINT32
, BASE_DEC
, NULL
, 0,
8722 { &hf_z3950_initRequest
,
8723 { "initRequest", "z3950.initRequest_element",
8724 FT_NONE
, BASE_NONE
, NULL
, 0,
8725 "InitializeRequest", HFILL
}},
8726 { &hf_z3950_initResponse
,
8727 { "initResponse", "z3950.initResponse_element",
8728 FT_NONE
, BASE_NONE
, NULL
, 0,
8729 "InitializeResponse", HFILL
}},
8730 { &hf_z3950_searchRequest
,
8731 { "searchRequest", "z3950.searchRequest_element",
8732 FT_NONE
, BASE_NONE
, NULL
, 0,
8734 { &hf_z3950_searchResponse
,
8735 { "searchResponse", "z3950.searchResponse_element",
8736 FT_NONE
, BASE_NONE
, NULL
, 0,
8738 { &hf_z3950_presentRequest
,
8739 { "presentRequest", "z3950.presentRequest_element",
8740 FT_NONE
, BASE_NONE
, NULL
, 0,
8742 { &hf_z3950_presentResponse
,
8743 { "presentResponse", "z3950.presentResponse_element",
8744 FT_NONE
, BASE_NONE
, NULL
, 0,
8746 { &hf_z3950_deleteResultSetRequest
,
8747 { "deleteResultSetRequest", "z3950.deleteResultSetRequest_element",
8748 FT_NONE
, BASE_NONE
, NULL
, 0,
8750 { &hf_z3950_deleteResultSetResponse
,
8751 { "deleteResultSetResponse", "z3950.deleteResultSetResponse_element",
8752 FT_NONE
, BASE_NONE
, NULL
, 0,
8754 { &hf_z3950_accessControlRequest
,
8755 { "accessControlRequest", "z3950.accessControlRequest_element",
8756 FT_NONE
, BASE_NONE
, NULL
, 0,
8758 { &hf_z3950_accessControlResponse
,
8759 { "accessControlResponse", "z3950.accessControlResponse_element",
8760 FT_NONE
, BASE_NONE
, NULL
, 0,
8762 { &hf_z3950_resourceControlRequest
,
8763 { "resourceControlRequest", "z3950.resourceControlRequest_element",
8764 FT_NONE
, BASE_NONE
, NULL
, 0,
8766 { &hf_z3950_resourceControlResponse
,
8767 { "resourceControlResponse", "z3950.resourceControlResponse_element",
8768 FT_NONE
, BASE_NONE
, NULL
, 0,
8770 { &hf_z3950_triggerResourceControlRequest
,
8771 { "triggerResourceControlRequest", "z3950.triggerResourceControlRequest_element",
8772 FT_NONE
, BASE_NONE
, NULL
, 0,
8774 { &hf_z3950_resourceReportRequest
,
8775 { "resourceReportRequest", "z3950.resourceReportRequest_element",
8776 FT_NONE
, BASE_NONE
, NULL
, 0,
8778 { &hf_z3950_resourceReportResponse
,
8779 { "resourceReportResponse", "z3950.resourceReportResponse_element",
8780 FT_NONE
, BASE_NONE
, NULL
, 0,
8782 { &hf_z3950_scanRequest
,
8783 { "scanRequest", "z3950.scanRequest_element",
8784 FT_NONE
, BASE_NONE
, NULL
, 0,
8786 { &hf_z3950_scanResponse
,
8787 { "scanResponse", "z3950.scanResponse_element",
8788 FT_NONE
, BASE_NONE
, NULL
, 0,
8790 { &hf_z3950_sortRequest
,
8791 { "sortRequest", "z3950.sortRequest_element",
8792 FT_NONE
, BASE_NONE
, NULL
, 0,
8794 { &hf_z3950_sortResponse
,
8795 { "sortResponse", "z3950.sortResponse_element",
8796 FT_NONE
, BASE_NONE
, NULL
, 0,
8798 { &hf_z3950_segmentRequest
,
8799 { "segmentRequest", "z3950.segmentRequest_element",
8800 FT_NONE
, BASE_NONE
, NULL
, 0,
8801 "Segment", HFILL
}},
8802 { &hf_z3950_extendedServicesRequest
,
8803 { "extendedServicesRequest", "z3950.extendedServicesRequest_element",
8804 FT_NONE
, BASE_NONE
, NULL
, 0,
8806 { &hf_z3950_extendedServicesResponse
,
8807 { "extendedServicesResponse", "z3950.extendedServicesResponse_element",
8808 FT_NONE
, BASE_NONE
, NULL
, 0,
8811 { "close", "z3950.close_element",
8812 FT_NONE
, BASE_NONE
, NULL
, 0,
8814 { &hf_z3950_referenceId
,
8815 { "referenceId", "z3950.referenceId",
8816 FT_BYTES
, BASE_NONE
, NULL
, 0,
8818 { &hf_z3950_protocolVersion
,
8819 { "protocolVersion", "z3950.protocolVersion",
8820 FT_BYTES
, BASE_NONE
, NULL
, 0,
8822 { &hf_z3950_options
,
8823 { "options", "z3950.options",
8824 FT_BYTES
, BASE_NONE
, NULL
, 0,
8826 { &hf_z3950_preferredMessageSize
,
8827 { "preferredMessageSize", "z3950.preferredMessageSize",
8828 FT_INT32
, BASE_DEC
, NULL
, 0,
8829 "INTEGER", HFILL
}},
8830 { &hf_z3950_exceptionalRecordSize
,
8831 { "exceptionalRecordSize", "z3950.exceptionalRecordSize",
8832 FT_INT32
, BASE_DEC
, NULL
, 0,
8833 "INTEGER", HFILL
}},
8834 { &hf_z3950_idAuthentication
,
8835 { "idAuthentication", "z3950.idAuthentication",
8836 FT_UINT32
, BASE_DEC
, VALS(z3950_T_idAuthentication_vals
), 0,
8839 { "open", "z3950.open",
8840 FT_STRING
, BASE_NONE
, NULL
, 0,
8841 "VisibleString", HFILL
}},
8843 { "idPass", "z3950.idPass_element",
8844 FT_NONE
, BASE_NONE
, NULL
, 0,
8846 { &hf_z3950_groupId
,
8847 { "groupId", "z3950.groupId",
8848 FT_STRING
, BASE_NONE
, NULL
, 0,
8849 "InternationalString", HFILL
}},
8851 { "userId", "z3950.userId",
8852 FT_STRING
, BASE_NONE
, NULL
, 0,
8853 "InternationalString", HFILL
}},
8854 { &hf_z3950_password
,
8855 { "password", "z3950.password",
8856 FT_STRING
, BASE_NONE
, NULL
, 0,
8857 "InternationalString", HFILL
}},
8858 { &hf_z3950_anonymous
,
8859 { "anonymous", "z3950.anonymous_element",
8860 FT_NONE
, BASE_NONE
, NULL
, 0,
8863 { "other", "z3950.other_element",
8864 FT_NONE
, BASE_NONE
, NULL
, 0,
8865 "EXTERNAL", HFILL
}},
8866 { &hf_z3950_implementationId
,
8867 { "implementationId", "z3950.implementationId",
8868 FT_STRING
, BASE_NONE
, NULL
, 0,
8869 "InternationalString", HFILL
}},
8870 { &hf_z3950_implementationName
,
8871 { "implementationName", "z3950.implementationName",
8872 FT_STRING
, BASE_NONE
, NULL
, 0,
8873 "InternationalString", HFILL
}},
8874 { &hf_z3950_implementationVersion
,
8875 { "implementationVersion", "z3950.implementationVersion",
8876 FT_STRING
, BASE_NONE
, NULL
, 0,
8877 "InternationalString", HFILL
}},
8878 { &hf_z3950_userInformationField
,
8879 { "userInformationField", "z3950.userInformationField_element",
8880 FT_NONE
, BASE_NONE
, NULL
, 0,
8881 "EXTERNAL", HFILL
}},
8882 { &hf_z3950_otherInfo
,
8883 { "otherInfo", "z3950.otherInfo",
8884 FT_UINT32
, BASE_DEC
, NULL
, 0,
8885 "OtherInformation", HFILL
}},
8887 { "result", "z3950.result",
8888 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
8889 "BOOLEAN", HFILL
}},
8890 { &hf_z3950_smallSetUpperBound
,
8891 { "smallSetUpperBound", "z3950.smallSetUpperBound",
8892 FT_INT32
, BASE_DEC
, NULL
, 0,
8893 "INTEGER", HFILL
}},
8894 { &hf_z3950_largeSetLowerBound
,
8895 { "largeSetLowerBound", "z3950.largeSetLowerBound",
8896 FT_INT32
, BASE_DEC
, NULL
, 0,
8897 "INTEGER", HFILL
}},
8898 { &hf_z3950_mediumSetPresentNumber
,
8899 { "mediumSetPresentNumber", "z3950.mediumSetPresentNumber",
8900 FT_INT32
, BASE_DEC
, NULL
, 0,
8901 "INTEGER", HFILL
}},
8902 { &hf_z3950_replaceIndicator
,
8903 { "replaceIndicator", "z3950.replaceIndicator",
8904 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
8905 "BOOLEAN", HFILL
}},
8906 { &hf_z3950_resultSetName
,
8907 { "resultSetName", "z3950.resultSetName",
8908 FT_STRING
, BASE_NONE
, NULL
, 0,
8909 "InternationalString", HFILL
}},
8910 { &hf_z3950_databaseNames
,
8911 { "databaseNames", "z3950.databaseNames",
8912 FT_UINT32
, BASE_DEC
, NULL
, 0,
8913 "SEQUENCE_OF_DatabaseName", HFILL
}},
8914 { &hf_z3950_databaseNames_item
,
8915 { "DatabaseName", "z3950.DatabaseName",
8916 FT_STRING
, BASE_NONE
, NULL
, 0,
8918 { &hf_z3950_smallSetElementSetNames
,
8919 { "smallSetElementSetNames", "z3950.smallSetElementSetNames",
8920 FT_UINT32
, BASE_DEC
, VALS(z3950_ElementSetNames_vals
), 0,
8921 "ElementSetNames", HFILL
}},
8922 { &hf_z3950_mediumSetElementSetNames
,
8923 { "mediumSetElementSetNames", "z3950.mediumSetElementSetNames",
8924 FT_UINT32
, BASE_DEC
, VALS(z3950_ElementSetNames_vals
), 0,
8925 "ElementSetNames", HFILL
}},
8926 { &hf_z3950_preferredRecordSyntax
,
8927 { "preferredRecordSyntax", "z3950.preferredRecordSyntax",
8928 FT_OID
, BASE_NONE
, NULL
, 0,
8929 "OBJECT_IDENTIFIER", HFILL
}},
8931 { "query", "z3950.query",
8932 FT_UINT32
, BASE_DEC
, VALS(z3950_Query_vals
), 0,
8934 { &hf_z3950_additionalSearchInfo
,
8935 { "additionalSearchInfo", "z3950.additionalSearchInfo",
8936 FT_UINT32
, BASE_DEC
, NULL
, 0,
8937 "OtherInformation", HFILL
}},
8939 { "type-0", "z3950.type_0_element",
8940 FT_NONE
, BASE_NONE
, NULL
, 0,
8943 { "type-1", "z3950.type_1_element",
8944 FT_NONE
, BASE_NONE
, NULL
, 0,
8945 "RPNQuery", HFILL
}},
8947 { "type-2", "z3950.type_2",
8948 FT_BYTES
, BASE_NONE
, NULL
, 0,
8949 "OCTET_STRING", HFILL
}},
8950 { &hf_z3950_type_100
,
8951 { "type-100", "z3950.type_100",
8952 FT_BYTES
, BASE_NONE
, NULL
, 0,
8953 "OCTET_STRING", HFILL
}},
8954 { &hf_z3950_type_101
,
8955 { "type-101", "z3950.type_101_element",
8956 FT_NONE
, BASE_NONE
, NULL
, 0,
8957 "RPNQuery", HFILL
}},
8958 { &hf_z3950_type_102
,
8959 { "type-102", "z3950.type_102",
8960 FT_BYTES
, BASE_NONE
, NULL
, 0,
8961 "OCTET_STRING", HFILL
}},
8962 { &hf_z3950_attributeSet
,
8963 { "attributeSet", "z3950.attributeSet",
8964 FT_OID
, BASE_NONE
, NULL
, 0,
8965 "AttributeSetId", HFILL
}},
8967 { "rpn", "z3950.rpn",
8968 FT_UINT32
, BASE_DEC
, VALS(z3950_RPNStructure_vals
), 0,
8969 "RPNStructure", HFILL
}},
8970 { &hf_z3950_operandRpnOp
,
8972 FT_UINT32
, BASE_DEC
, VALS(z3950_Operand_vals
), 0,
8973 "Operand", HFILL
}},
8974 { &hf_z3950_rpnRpnOp
,
8975 { "rpnRpnOp", "z3950.rpnRpnOp_element",
8976 FT_NONE
, BASE_NONE
, NULL
, 0,
8979 { "rpn1", "z3950.rpn1",
8980 FT_UINT32
, BASE_DEC
, VALS(z3950_RPNStructure_vals
), 0,
8981 "RPNStructure", HFILL
}},
8983 { "rpn2", "z3950.rpn2",
8984 FT_UINT32
, BASE_DEC
, VALS(z3950_RPNStructure_vals
), 0,
8985 "RPNStructure", HFILL
}},
8986 { &hf_z3950_operatorRpnOp
,
8988 FT_UINT32
, BASE_DEC
, VALS(z3950_Operator_U_vals
), 0,
8989 "Operator", HFILL
}},
8990 { &hf_z3950_attrTerm
,
8991 { "attrTerm", "z3950.attrTerm_element",
8992 FT_NONE
, BASE_NONE
, NULL
, 0,
8993 "AttributesPlusTerm", HFILL
}},
8994 { &hf_z3950_resultSet
,
8995 { "resultSet", "z3950.resultSet",
8996 FT_STRING
, BASE_NONE
, NULL
, 0,
8997 "ResultSetId", HFILL
}},
8998 { &hf_z3950_resultAttr
,
8999 { "resultAttr", "z3950.resultAttr_element",
9000 FT_NONE
, BASE_NONE
, NULL
, 0,
9001 "ResultSetPlusAttributes", HFILL
}},
9002 { &hf_z3950_attributes
,
9003 { "attributes", "z3950.attributes",
9004 FT_UINT32
, BASE_DEC
, NULL
, 0,
9005 "AttributeList", HFILL
}},
9007 { "term", "z3950.term",
9008 FT_UINT32
, BASE_DEC
, VALS(z3950_Term_vals
), 0,
9010 { &hf_z3950_attributeList_item
,
9011 { "AttributeElement", "z3950.AttributeElement_element",
9012 FT_NONE
, BASE_NONE
, NULL
, 0,
9014 { &hf_z3950_general
,
9015 { "general", "z3950.general",
9016 FT_BYTES
, BASE_NONE
, NULL
, 0,
9018 { &hf_z3950_numeric
,
9019 { "numeric", "z3950.numeric",
9020 FT_INT32
, BASE_DEC
, NULL
, 0,
9021 "INTEGER", HFILL
}},
9022 { &hf_z3950_characterString
,
9023 { "characterString", "z3950.characterString",
9024 FT_STRING
, BASE_NONE
, NULL
, 0,
9025 "InternationalString", HFILL
}},
9027 { "oid", "z3950.oid",
9028 FT_OID
, BASE_NONE
, NULL
, 0,
9029 "OBJECT_IDENTIFIER", HFILL
}},
9030 { &hf_z3950_dateTime
,
9031 { "dateTime", "z3950.dateTime",
9032 FT_ABSOLUTE_TIME
, ABSOLUTE_TIME_LOCAL
, NULL
, 0,
9033 "GeneralizedTime", HFILL
}},
9034 { &hf_z3950_external
,
9035 { "external", "z3950.external_element",
9036 FT_NONE
, BASE_NONE
, NULL
, 0,
9038 { &hf_z3950_integerAndUnit
,
9039 { "integerAndUnit", "z3950.integerAndUnit_element",
9040 FT_NONE
, BASE_NONE
, NULL
, 0,
9041 "IntUnit", HFILL
}},
9043 { "null", "z3950.null_element",
9044 FT_NONE
, BASE_NONE
, NULL
, 0,
9047 { "and", "z3950.and_element",
9048 FT_NONE
, BASE_NONE
, NULL
, 0,
9051 { "or", "z3950.or_element",
9052 FT_NONE
, BASE_NONE
, NULL
, 0,
9054 { &hf_z3950_and_not
,
9055 { "and-not", "z3950.and_not_element",
9056 FT_NONE
, BASE_NONE
, NULL
, 0,
9059 { "prox", "z3950.prox_element",
9060 FT_NONE
, BASE_NONE
, NULL
, 0,
9061 "ProximityOperator", HFILL
}},
9062 { &hf_z3950_attributeElement_attributeType
,
9063 { "attributeType", "z3950.attributeType",
9064 FT_INT32
, BASE_DEC
, NULL
, 0,
9065 "T_attributeElement_attributeType", HFILL
}},
9066 { &hf_z3950_attributeValue
,
9067 { "attributeValue", "z3950.attributeValue",
9068 FT_UINT32
, BASE_DEC
, VALS(z3950_T_attributeValue_vals
), 0,
9070 { &hf_z3950_attributeValue_numeric
,
9071 { "numeric", "z3950.numeric",
9072 FT_INT32
, BASE_DEC
, NULL
, 0,
9073 "T_attributeValue_numeric", HFILL
}},
9074 { &hf_z3950_attributeValue_complex
,
9075 { "complex", "z3950.complex_element",
9076 FT_NONE
, BASE_NONE
, NULL
, 0,
9077 "T_attributeValue_complex", HFILL
}},
9078 { &hf_z3950_attributeValue_complex_list
,
9079 { "list", "z3950.list",
9080 FT_UINT32
, BASE_DEC
, NULL
, 0,
9081 "SEQUENCE_OF_StringOrNumeric", HFILL
}},
9082 { &hf_z3950_attributeValue_complex_list_item
,
9083 { "StringOrNumeric", "z3950.StringOrNumeric",
9084 FT_UINT32
, BASE_DEC
, VALS(z3950_StringOrNumeric_vals
), 0,
9086 { &hf_z3950_semanticAction
,
9087 { "semanticAction", "z3950.semanticAction",
9088 FT_UINT32
, BASE_DEC
, NULL
, 0,
9090 { &hf_z3950_semanticAction_item
,
9091 { "semanticAction item", "z3950.semanticAction_item",
9092 FT_INT32
, BASE_DEC
, NULL
, 0,
9093 "INTEGER", HFILL
}},
9094 { &hf_z3950_exclusion
,
9095 { "exclusion", "z3950.exclusion",
9096 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
9097 "BOOLEAN", HFILL
}},
9098 { &hf_z3950_distance
,
9099 { "distance", "z3950.distance",
9100 FT_INT32
, BASE_DEC
, NULL
, 0,
9101 "INTEGER", HFILL
}},
9102 { &hf_z3950_ordered
,
9103 { "ordered", "z3950.ordered",
9104 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
9105 "BOOLEAN", HFILL
}},
9106 { &hf_z3950_relationType
,
9107 { "relationType", "z3950.relationType",
9108 FT_INT32
, BASE_DEC
, VALS(z3950_T_relationType_vals
), 0,
9110 { &hf_z3950_proximityUnitCode
,
9111 { "proximityUnitCode", "z3950.proximityUnitCode",
9112 FT_UINT32
, BASE_DEC
, VALS(z3950_T_proximityUnitCode_vals
), 0,
9115 { "known", "z3950.known",
9116 FT_INT32
, BASE_DEC
, VALS(z3950_KnownProximityUnit_vals
), 0,
9117 "KnownProximityUnit", HFILL
}},
9118 { &hf_z3950_private
,
9119 { "private", "z3950.private",
9120 FT_INT32
, BASE_DEC
, NULL
, 0,
9121 "INTEGER", HFILL
}},
9122 { &hf_z3950_resultCount
,
9123 { "resultCount", "z3950.resultCount",
9124 FT_INT32
, BASE_DEC
, NULL
, 0,
9125 "INTEGER", HFILL
}},
9126 { &hf_z3950_numberOfRecordsReturned
,
9127 { "numberOfRecordsReturned", "z3950.numberOfRecordsReturned",
9128 FT_INT32
, BASE_DEC
, NULL
, 0,
9129 "INTEGER", HFILL
}},
9130 { &hf_z3950_nextResultSetPosition
,
9131 { "nextResultSetPosition", "z3950.nextResultSetPosition",
9132 FT_INT32
, BASE_DEC
, NULL
, 0,
9133 "INTEGER", HFILL
}},
9134 { &hf_z3950_searchStatus
,
9135 { "searchStatus", "z3950.searchStatus",
9136 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
9137 "BOOLEAN", HFILL
}},
9138 { &hf_z3950_search_resultSetStatus
,
9139 { "resultSetStatus", "z3950.resultSetStatus",
9140 FT_INT32
, BASE_DEC
, VALS(z3950_T_search_resultSetStatus_vals
), 0,
9141 "T_search_resultSetStatus", HFILL
}},
9142 { &hf_z3950_presentStatus
,
9143 { "presentStatus", "z3950.presentStatus",
9144 FT_INT32
, BASE_DEC
, VALS(z3950_PresentStatus_U_vals
), 0,
9146 { &hf_z3950_records
,
9147 { "records", "z3950.records",
9148 FT_UINT32
, BASE_DEC
, VALS(z3950_Records_vals
), 0,
9150 { &hf_z3950_resultSetId
,
9151 { "resultSetId", "z3950.resultSetId",
9152 FT_STRING
, BASE_NONE
, NULL
, 0,
9154 { &hf_z3950_resultSetStartPoint
,
9155 { "resultSetStartPoint", "z3950.resultSetStartPoint",
9156 FT_INT32
, BASE_DEC
, NULL
, 0,
9157 "INTEGER", HFILL
}},
9158 { &hf_z3950_numberOfRecordsRequested
,
9159 { "numberOfRecordsRequested", "z3950.numberOfRecordsRequested",
9160 FT_INT32
, BASE_DEC
, NULL
, 0,
9161 "INTEGER", HFILL
}},
9162 { &hf_z3950_additionalRanges
,
9163 { "additionalRanges", "z3950.additionalRanges",
9164 FT_UINT32
, BASE_DEC
, NULL
, 0,
9165 "SEQUENCE_OF_Range", HFILL
}},
9166 { &hf_z3950_additionalRanges_item
,
9167 { "Range", "z3950.Range_element",
9168 FT_NONE
, BASE_NONE
, NULL
, 0,
9170 { &hf_z3950_recordComposition
,
9171 { "recordComposition", "z3950.recordComposition",
9172 FT_UINT32
, BASE_DEC
, VALS(z3950_T_recordComposition_vals
), 0,
9175 { "simple", "z3950.simple",
9176 FT_UINT32
, BASE_DEC
, VALS(z3950_ElementSetNames_vals
), 0,
9177 "ElementSetNames", HFILL
}},
9178 { &hf_z3950_recordComposition_complex
,
9179 { "complex", "z3950.complex_element",
9180 FT_NONE
, BASE_NONE
, NULL
, 0,
9181 "CompSpec", HFILL
}},
9182 { &hf_z3950_maxSegmentCount
,
9183 { "maxSegmentCount", "z3950.maxSegmentCount",
9184 FT_INT32
, BASE_DEC
, NULL
, 0,
9185 "INTEGER", HFILL
}},
9186 { &hf_z3950_maxRecordSize
,
9187 { "maxRecordSize", "z3950.maxRecordSize",
9188 FT_INT32
, BASE_DEC
, NULL
, 0,
9189 "INTEGER", HFILL
}},
9190 { &hf_z3950_maxSegmentSize
,
9191 { "maxSegmentSize", "z3950.maxSegmentSize",
9192 FT_INT32
, BASE_DEC
, NULL
, 0,
9193 "INTEGER", HFILL
}},
9194 { &hf_z3950_segmentRecords
,
9195 { "segmentRecords", "z3950.segmentRecords",
9196 FT_UINT32
, BASE_DEC
, NULL
, 0,
9197 "SEQUENCE_OF_NamePlusRecord", HFILL
}},
9198 { &hf_z3950_segmentRecords_item
,
9199 { "NamePlusRecord", "z3950.NamePlusRecord_element",
9200 FT_NONE
, BASE_NONE
, NULL
, 0,
9202 { &hf_z3950_responseRecords
,
9203 { "responseRecords", "z3950.responseRecords",
9204 FT_UINT32
, BASE_DEC
, NULL
, 0,
9205 "SEQUENCE_OF_NamePlusRecord", HFILL
}},
9206 { &hf_z3950_responseRecords_item
,
9207 { "NamePlusRecord", "z3950.NamePlusRecord_element",
9208 FT_NONE
, BASE_NONE
, NULL
, 0,
9210 { &hf_z3950_nonSurrogateDiagnostic
,
9211 { "nonSurrogateDiagnostic", "z3950.nonSurrogateDiagnostic_element",
9212 FT_NONE
, BASE_NONE
, NULL
, 0,
9213 "DefaultDiagFormat", HFILL
}},
9214 { &hf_z3950_multipleNonSurDiagnostics
,
9215 { "multipleNonSurDiagnostics", "z3950.multipleNonSurDiagnostics",
9216 FT_UINT32
, BASE_DEC
, NULL
, 0,
9217 "SEQUENCE_OF_DiagRec", HFILL
}},
9218 { &hf_z3950_multipleNonSurDiagnostics_item
,
9219 { "DiagRec", "z3950.DiagRec",
9220 FT_UINT32
, BASE_DEC
, VALS(z3950_DiagRec_vals
), 0,
9222 { &hf_z3950_namePlusRecord_name
,
9223 { "name", "z3950.name",
9224 FT_STRING
, BASE_NONE
, NULL
, 0,
9225 "DatabaseName", HFILL
}},
9227 { "record", "z3950.record",
9228 FT_UINT32
, BASE_DEC
, VALS(z3950_T_record_vals
), 0,
9230 { &hf_z3950_retrievalRecord
,
9231 { "retrievalRecord", "z3950.retrievalRecord_element",
9232 FT_NONE
, BASE_NONE
, NULL
, 0,
9233 "EXTERNAL", HFILL
}},
9234 { &hf_z3950_surrogateDiagnostic
,
9235 { "surrogateDiagnostic", "z3950.surrogateDiagnostic",
9236 FT_UINT32
, BASE_DEC
, VALS(z3950_DiagRec_vals
), 0,
9237 "DiagRec", HFILL
}},
9238 { &hf_z3950_startingFragment
,
9239 { "startingFragment", "z3950.startingFragment",
9240 FT_UINT32
, BASE_DEC
, VALS(z3950_FragmentSyntax_vals
), 0,
9241 "FragmentSyntax", HFILL
}},
9242 { &hf_z3950_intermediateFragment
,
9243 { "intermediateFragment", "z3950.intermediateFragment",
9244 FT_UINT32
, BASE_DEC
, VALS(z3950_FragmentSyntax_vals
), 0,
9245 "FragmentSyntax", HFILL
}},
9246 { &hf_z3950_finalFragment
,
9247 { "finalFragment", "z3950.finalFragment",
9248 FT_UINT32
, BASE_DEC
, VALS(z3950_FragmentSyntax_vals
), 0,
9249 "FragmentSyntax", HFILL
}},
9250 { &hf_z3950_externallyTagged
,
9251 { "externallyTagged", "z3950.externallyTagged_element",
9252 FT_NONE
, BASE_NONE
, NULL
, 0,
9253 "EXTERNAL", HFILL
}},
9254 { &hf_z3950_notExternallyTagged
,
9255 { "notExternallyTagged", "z3950.notExternallyTagged",
9256 FT_BYTES
, BASE_NONE
, NULL
, 0,
9257 "OCTET_STRING", HFILL
}},
9258 { &hf_z3950_defaultFormat
,
9259 { "defaultFormat", "z3950.defaultFormat_element",
9260 FT_NONE
, BASE_NONE
, NULL
, 0,
9261 "DefaultDiagFormat", HFILL
}},
9262 { &hf_z3950_externallyDefined
,
9263 { "externallyDefined", "z3950.externallyDefined_element",
9264 FT_NONE
, BASE_NONE
, NULL
, 0,
9265 "EXTERNAL", HFILL
}},
9266 { &hf_z3950_diagnosticSetId
,
9267 { "diagnosticSetId", "z3950.diagnosticSetId",
9268 FT_OID
, BASE_NONE
, NULL
, 0,
9270 { &hf_z3950_condition
,
9271 { "condition", "z3950.condition",
9272 FT_INT32
, BASE_DEC
, NULL
, 0,
9274 { &hf_z3950_addinfo
,
9275 { "addinfo", "z3950.addinfo",
9276 FT_UINT32
, BASE_DEC
, VALS(z3950_T_addinfo_vals
), 0,
9278 { &hf_z3950_v2Addinfo
,
9279 { "v2Addinfo", "z3950.v2Addinfo",
9280 FT_STRING
, BASE_NONE
, NULL
, 0,
9281 "VisibleString", HFILL
}},
9282 { &hf_z3950_v3Addinfo
,
9283 { "v3Addinfo", "z3950.v3Addinfo",
9284 FT_STRING
, BASE_NONE
, NULL
, 0,
9285 "InternationalString", HFILL
}},
9286 { &hf_z3950_startingPosition
,
9287 { "startingPosition", "z3950.startingPosition",
9288 FT_INT32
, BASE_DEC
, NULL
, 0,
9289 "INTEGER", HFILL
}},
9290 { &hf_z3950_numberOfRecords
,
9291 { "numberOfRecords", "z3950.numberOfRecords",
9292 FT_INT32
, BASE_DEC
, NULL
, 0,
9293 "INTEGER", HFILL
}},
9294 { &hf_z3950_genericElementSetName
,
9295 { "genericElementSetName", "z3950.genericElementSetName",
9296 FT_STRING
, BASE_NONE
, NULL
, 0,
9297 "InternationalString", HFILL
}},
9298 { &hf_z3950_databaseSpecific
,
9299 { "databaseSpecific", "z3950.databaseSpecific",
9300 FT_UINT32
, BASE_DEC
, NULL
, 0,
9302 { &hf_z3950_databaseSpecific_item
,
9303 { "databaseSpecific item", "z3950.databaseSpecific_item_element",
9304 FT_NONE
, BASE_NONE
, NULL
, 0,
9307 { "dbName", "z3950.dbName",
9308 FT_STRING
, BASE_NONE
, NULL
, 0,
9309 "DatabaseName", HFILL
}},
9311 { "esn", "z3950.esn",
9312 FT_STRING
, BASE_NONE
, NULL
, 0,
9313 "ElementSetName", HFILL
}},
9314 { &hf_z3950_selectAlternativeSyntax
,
9315 { "selectAlternativeSyntax", "z3950.selectAlternativeSyntax",
9316 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
9317 "BOOLEAN", HFILL
}},
9318 { &hf_z3950_compSpec_generic
,
9319 { "generic", "z3950.generic_element",
9320 FT_NONE
, BASE_NONE
, NULL
, 0,
9321 "Specification", HFILL
}},
9322 { &hf_z3950_dbSpecific
,
9323 { "dbSpecific", "z3950.dbSpecific",
9324 FT_UINT32
, BASE_DEC
, NULL
, 0,
9326 { &hf_z3950_dbSpecific_item
,
9327 { "dbSpecific item", "z3950.dbSpecific_item_element",
9328 FT_NONE
, BASE_NONE
, NULL
, 0,
9332 FT_STRING
, BASE_NONE
, NULL
, 0,
9333 "DatabaseName", HFILL
}},
9335 { "spec", "z3950.spec_element",
9336 FT_NONE
, BASE_NONE
, NULL
, 0,
9337 "Specification", HFILL
}},
9338 { &hf_z3950_compSpec_recordSyntax
,
9339 { "recordSyntax", "z3950.recordSyntax",
9340 FT_UINT32
, BASE_DEC
, NULL
, 0,
9341 "T_compSpec_recordSyntax", HFILL
}},
9342 { &hf_z3950_compSpec_recordSyntax_item
,
9343 { "recordSyntax item", "z3950.recordSyntax_item",
9344 FT_OID
, BASE_NONE
, NULL
, 0,
9345 "OBJECT_IDENTIFIER", HFILL
}},
9347 { "schema", "z3950.schema",
9348 FT_OID
, BASE_NONE
, NULL
, 0,
9349 "OBJECT_IDENTIFIER", HFILL
}},
9350 { &hf_z3950_specification_elementSpec
,
9351 { "elementSpec", "z3950.elementSpec",
9352 FT_UINT32
, BASE_DEC
, VALS(z3950_T_specification_elementSpec_vals
), 0,
9353 "T_specification_elementSpec", HFILL
}},
9354 { &hf_z3950_elementSetName
,
9355 { "elementSetName", "z3950.elementSetName",
9356 FT_STRING
, BASE_NONE
, NULL
, 0,
9357 "InternationalString", HFILL
}},
9358 { &hf_z3950_externalEspec
,
9359 { "externalEspec", "z3950.externalEspec_element",
9360 FT_NONE
, BASE_NONE
, NULL
, 0,
9361 "EXTERNAL", HFILL
}},
9362 { &hf_z3950_deleteFunction
,
9363 { "deleteFunction", "z3950.deleteFunction",
9364 FT_INT32
, BASE_DEC
, VALS(z3950_T_deleteFunction_vals
), 0,
9366 { &hf_z3950_resultSetList
,
9367 { "resultSetList", "z3950.resultSetList",
9368 FT_UINT32
, BASE_DEC
, NULL
, 0,
9369 "SEQUENCE_OF_ResultSetId", HFILL
}},
9370 { &hf_z3950_resultSetList_item
,
9371 { "ResultSetId", "z3950.ResultSetId",
9372 FT_STRING
, BASE_NONE
, NULL
, 0,
9374 { &hf_z3950_deleteOperationStatus
,
9375 { "deleteOperationStatus", "z3950.deleteOperationStatus",
9376 FT_INT32
, BASE_DEC
, VALS(z3950_DeleteSetStatus_U_vals
), 0,
9377 "DeleteSetStatus", HFILL
}},
9378 { &hf_z3950_deleteListStatuses
,
9379 { "deleteListStatuses", "z3950.deleteListStatuses",
9380 FT_UINT32
, BASE_DEC
, NULL
, 0,
9381 "ListStatuses", HFILL
}},
9382 { &hf_z3950_numberNotDeleted
,
9383 { "numberNotDeleted", "z3950.numberNotDeleted",
9384 FT_INT32
, BASE_DEC
, NULL
, 0,
9385 "INTEGER", HFILL
}},
9386 { &hf_z3950_bulkStatuses
,
9387 { "bulkStatuses", "z3950.bulkStatuses",
9388 FT_UINT32
, BASE_DEC
, NULL
, 0,
9389 "ListStatuses", HFILL
}},
9390 { &hf_z3950_deleteMessage
,
9391 { "deleteMessage", "z3950.deleteMessage",
9392 FT_STRING
, BASE_NONE
, NULL
, 0,
9393 "InternationalString", HFILL
}},
9394 { &hf_z3950_ListStatuses_item
,
9395 { "ListStatuses item", "z3950.ListStatuses_item_element",
9396 FT_NONE
, BASE_NONE
, NULL
, 0,
9398 { &hf_z3950_listStatuses_id
,
9400 FT_STRING
, BASE_NONE
, NULL
, 0,
9401 "ResultSetId", HFILL
}},
9403 { "status", "z3950.status",
9404 FT_INT32
, BASE_DEC
, VALS(z3950_DeleteSetStatus_U_vals
), 0,
9405 "DeleteSetStatus", HFILL
}},
9406 { &hf_z3950_securityChallenge
,
9407 { "securityChallenge", "z3950.securityChallenge",
9408 FT_UINT32
, BASE_DEC
, VALS(z3950_T_securityChallenge_vals
), 0,
9410 { &hf_z3950_simpleForm
,
9411 { "simpleForm", "z3950.simpleForm",
9412 FT_BYTES
, BASE_NONE
, NULL
, 0,
9413 "OCTET_STRING", HFILL
}},
9414 { &hf_z3950_securityChallengeResponse
,
9415 { "securityChallengeResponse", "z3950.securityChallengeResponse",
9416 FT_UINT32
, BASE_DEC
, VALS(z3950_T_securityChallengeResponse_vals
), 0,
9418 { &hf_z3950_diagnostic
,
9419 { "diagnostic", "z3950.diagnostic",
9420 FT_UINT32
, BASE_DEC
, VALS(z3950_DiagRec_vals
), 0,
9421 "DiagRec", HFILL
}},
9422 { &hf_z3950_suspendedFlag
,
9423 { "suspendedFlag", "z3950.suspendedFlag",
9424 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
9425 "BOOLEAN", HFILL
}},
9426 { &hf_z3950_resourceReport
,
9427 { "resourceReport", "z3950.resourceReport_element",
9428 FT_NONE
, BASE_NONE
, NULL
, 0,
9430 { &hf_z3950_partialResultsAvailable
,
9431 { "partialResultsAvailable", "z3950.partialResultsAvailable",
9432 FT_INT32
, BASE_DEC
, VALS(z3950_T_partialResultsAvailable_vals
), 0,
9434 { &hf_z3950_resourceControlRequest_responseRequired
,
9435 { "responseRequired", "z3950.responseRequired",
9436 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
9437 "BOOLEAN", HFILL
}},
9438 { &hf_z3950_triggeredRequestFlag
,
9439 { "triggeredRequestFlag", "z3950.triggeredRequestFlag",
9440 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
9441 "BOOLEAN", HFILL
}},
9442 { &hf_z3950_continueFlag
,
9443 { "continueFlag", "z3950.continueFlag",
9444 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
9445 "BOOLEAN", HFILL
}},
9446 { &hf_z3950_resultSetWanted
,
9447 { "resultSetWanted", "z3950.resultSetWanted",
9448 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
9449 "BOOLEAN", HFILL
}},
9450 { &hf_z3950_requestedAction
,
9451 { "requestedAction", "z3950.requestedAction",
9452 FT_INT32
, BASE_DEC
, VALS(z3950_T_requestedAction_vals
), 0,
9454 { &hf_z3950_prefResourceReportFormat
,
9455 { "prefResourceReportFormat", "z3950.prefResourceReportFormat",
9456 FT_OID
, BASE_NONE
, NULL
, 0,
9457 "ResourceReportId", HFILL
}},
9459 { "opId", "z3950.opId",
9460 FT_BYTES
, BASE_NONE
, NULL
, 0,
9461 "ReferenceId", HFILL
}},
9462 { &hf_z3950_resourceReportStatus
,
9463 { "resourceReportStatus", "z3950.resourceReportStatus",
9464 FT_INT32
, BASE_DEC
, VALS(z3950_T_resourceReportStatus_vals
), 0,
9466 { &hf_z3950_termListAndStartPoint
,
9467 { "termListAndStartPoint", "z3950.termListAndStartPoint_element",
9468 FT_NONE
, BASE_NONE
, NULL
, 0,
9469 "AttributesPlusTerm", HFILL
}},
9470 { &hf_z3950_stepSize
,
9471 { "stepSize", "z3950.stepSize",
9472 FT_INT32
, BASE_DEC
, NULL
, 0,
9473 "INTEGER", HFILL
}},
9474 { &hf_z3950_numberOfTermsRequested
,
9475 { "numberOfTermsRequested", "z3950.numberOfTermsRequested",
9476 FT_INT32
, BASE_DEC
, NULL
, 0,
9477 "INTEGER", HFILL
}},
9478 { &hf_z3950_preferredPositionInResponse
,
9479 { "preferredPositionInResponse", "z3950.preferredPositionInResponse",
9480 FT_INT32
, BASE_DEC
, NULL
, 0,
9481 "INTEGER", HFILL
}},
9482 { &hf_z3950_scanStatus
,
9483 { "scanStatus", "z3950.scanStatus",
9484 FT_INT32
, BASE_DEC
, VALS(z3950_T_scanStatus_vals
), 0,
9486 { &hf_z3950_numberOfEntriesReturned
,
9487 { "numberOfEntriesReturned", "z3950.numberOfEntriesReturned",
9488 FT_INT32
, BASE_DEC
, NULL
, 0,
9489 "INTEGER", HFILL
}},
9490 { &hf_z3950_positionOfTerm
,
9491 { "positionOfTerm", "z3950.positionOfTerm",
9492 FT_INT32
, BASE_DEC
, NULL
, 0,
9493 "INTEGER", HFILL
}},
9494 { &hf_z3950_scanResponse_entries
,
9495 { "entries", "z3950.entries_element",
9496 FT_NONE
, BASE_NONE
, NULL
, 0,
9497 "ListEntries", HFILL
}},
9498 { &hf_z3950_listEntries_entries
,
9499 { "entries", "z3950.entries",
9500 FT_UINT32
, BASE_DEC
, NULL
, 0,
9501 "SEQUENCE_OF_Entry", HFILL
}},
9502 { &hf_z3950_listEntries_entries_item
,
9503 { "Entry", "z3950.Entry",
9504 FT_UINT32
, BASE_DEC
, VALS(z3950_Entry_vals
), 0,
9506 { &hf_z3950_nonsurrogateDiagnostics
,
9507 { "nonsurrogateDiagnostics", "z3950.nonsurrogateDiagnostics",
9508 FT_UINT32
, BASE_DEC
, NULL
, 0,
9509 "SEQUENCE_OF_DiagRec", HFILL
}},
9510 { &hf_z3950_nonsurrogateDiagnostics_item
,
9511 { "DiagRec", "z3950.DiagRec",
9512 FT_UINT32
, BASE_DEC
, VALS(z3950_DiagRec_vals
), 0,
9514 { &hf_z3950_termInfo
,
9515 { "termInfo", "z3950.termInfo_element",
9516 FT_NONE
, BASE_NONE
, NULL
, 0,
9518 { &hf_z3950_displayTerm
,
9519 { "displayTerm", "z3950.displayTerm",
9520 FT_STRING
, BASE_NONE
, NULL
, 0,
9521 "InternationalString", HFILL
}},
9522 { &hf_z3950_suggestedAttributes
,
9523 { "suggestedAttributes", "z3950.suggestedAttributes",
9524 FT_UINT32
, BASE_DEC
, NULL
, 0,
9525 "AttributeList", HFILL
}},
9526 { &hf_z3950_alternativeTerm
,
9527 { "alternativeTerm", "z3950.alternativeTerm",
9528 FT_UINT32
, BASE_DEC
, NULL
, 0,
9529 "SEQUENCE_OF_AttributesPlusTerm", HFILL
}},
9530 { &hf_z3950_alternativeTerm_item
,
9531 { "AttributesPlusTerm", "z3950.AttributesPlusTerm_element",
9532 FT_NONE
, BASE_NONE
, NULL
, 0,
9534 { &hf_z3950_globalOccurrences
,
9535 { "globalOccurrences", "z3950.globalOccurrences",
9536 FT_INT32
, BASE_DEC
, NULL
, 0,
9537 "INTEGER", HFILL
}},
9538 { &hf_z3950_byAttributes
,
9539 { "byAttributes", "z3950.byAttributes",
9540 FT_UINT32
, BASE_DEC
, NULL
, 0,
9541 "OccurrenceByAttributes", HFILL
}},
9542 { &hf_z3950_otherTermInfo
,
9543 { "otherTermInfo", "z3950.otherTermInfo",
9544 FT_UINT32
, BASE_DEC
, NULL
, 0,
9545 "OtherInformation", HFILL
}},
9546 { &hf_z3950_OccurrenceByAttributes_item
,
9547 { "OccurrenceByAttributes item", "z3950.OccurrenceByAttributes_item_element",
9548 FT_NONE
, BASE_NONE
, NULL
, 0,
9550 { &hf_z3950_occurrences
,
9551 { "occurrences", "z3950.occurrences",
9552 FT_UINT32
, BASE_DEC
, VALS(z3950_T_occurrences_vals
), 0,
9555 { "global", "z3950.global",
9556 FT_INT32
, BASE_DEC
, NULL
, 0,
9557 "INTEGER", HFILL
}},
9558 { &hf_z3950_byDatabase
,
9559 { "byDatabase", "z3950.byDatabase",
9560 FT_UINT32
, BASE_DEC
, NULL
, 0,
9562 { &hf_z3950_byDatabase_item
,
9563 { "byDatabase item", "z3950.byDatabase_item_element",
9564 FT_NONE
, BASE_NONE
, NULL
, 0,
9567 { "num", "z3950.num",
9568 FT_INT32
, BASE_DEC
, NULL
, 0,
9569 "INTEGER", HFILL
}},
9570 { &hf_z3950_otherDbInfo
,
9571 { "otherDbInfo", "z3950.otherDbInfo",
9572 FT_UINT32
, BASE_DEC
, NULL
, 0,
9573 "OtherInformation", HFILL
}},
9574 { &hf_z3950_otherOccurInfo
,
9575 { "otherOccurInfo", "z3950.otherOccurInfo",
9576 FT_UINT32
, BASE_DEC
, NULL
, 0,
9577 "OtherInformation", HFILL
}},
9578 { &hf_z3950_inputResultSetNames
,
9579 { "inputResultSetNames", "z3950.inputResultSetNames",
9580 FT_UINT32
, BASE_DEC
, NULL
, 0,
9581 "SEQUENCE_OF_InternationalString", HFILL
}},
9582 { &hf_z3950_inputResultSetNames_item
,
9583 { "InternationalString", "z3950.InternationalString",
9584 FT_STRING
, BASE_NONE
, NULL
, 0,
9586 { &hf_z3950_sortedResultSetName
,
9587 { "sortedResultSetName", "z3950.sortedResultSetName",
9588 FT_STRING
, BASE_NONE
, NULL
, 0,
9589 "InternationalString", HFILL
}},
9590 { &hf_z3950_sortSequence
,
9591 { "sortSequence", "z3950.sortSequence",
9592 FT_UINT32
, BASE_DEC
, NULL
, 0,
9593 "SEQUENCE_OF_SortKeySpec", HFILL
}},
9594 { &hf_z3950_sortSequence_item
,
9595 { "SortKeySpec", "z3950.SortKeySpec_element",
9596 FT_NONE
, BASE_NONE
, NULL
, 0,
9598 { &hf_z3950_sortStatus
,
9599 { "sortStatus", "z3950.sortStatus",
9600 FT_INT32
, BASE_DEC
, VALS(z3950_T_sortStatus_vals
), 0,
9602 { &hf_z3950_sort_resultSetStatus
,
9603 { "resultSetStatus", "z3950.resultSetStatus",
9604 FT_INT32
, BASE_DEC
, VALS(z3950_T_sort_resultSetStatus_vals
), 0,
9605 "T_sort_resultSetStatus", HFILL
}},
9606 { &hf_z3950_diagnostics
,
9607 { "diagnostics", "z3950.diagnostics",
9608 FT_UINT32
, BASE_DEC
, NULL
, 0,
9609 "SEQUENCE_OF_DiagRec", HFILL
}},
9610 { &hf_z3950_diagnostics_item
,
9611 { "DiagRec", "z3950.DiagRec",
9612 FT_UINT32
, BASE_DEC
, VALS(z3950_DiagRec_vals
), 0,
9614 { &hf_z3950_sortElement
,
9615 { "sortElement", "z3950.sortElement",
9616 FT_UINT32
, BASE_DEC
, VALS(z3950_SortElement_vals
), 0,
9618 { &hf_z3950_sortRelation
,
9619 { "sortRelation", "z3950.sortRelation",
9620 FT_INT32
, BASE_DEC
, VALS(z3950_T_sortRelation_vals
), 0,
9622 { &hf_z3950_caseSensitivity
,
9623 { "caseSensitivity", "z3950.caseSensitivity",
9624 FT_INT32
, BASE_DEC
, VALS(z3950_T_caseSensitivity_vals
), 0,
9626 { &hf_z3950_missingValueAction
,
9627 { "missingValueAction", "z3950.missingValueAction",
9628 FT_UINT32
, BASE_DEC
, VALS(z3950_T_missingValueAction_vals
), 0,
9631 { "abort", "z3950.abort_element",
9632 FT_NONE
, BASE_NONE
, NULL
, 0,
9634 { &hf_z3950_missingValueData
,
9635 { "missingValueData", "z3950.missingValueData",
9636 FT_BYTES
, BASE_NONE
, NULL
, 0,
9637 "OCTET_STRING", HFILL
}},
9638 { &hf_z3950_sortElement_generic
,
9639 { "generic", "z3950.generic",
9640 FT_UINT32
, BASE_DEC
, VALS(z3950_SortKey_vals
), 0,
9641 "SortKey", HFILL
}},
9642 { &hf_z3950_datbaseSpecific
,
9643 { "datbaseSpecific", "z3950.datbaseSpecific",
9644 FT_UINT32
, BASE_DEC
, NULL
, 0,
9646 { &hf_z3950_datbaseSpecific_item
,
9647 { "datbaseSpecific item", "z3950.datbaseSpecific_item_element",
9648 FT_NONE
, BASE_NONE
, NULL
, 0,
9650 { &hf_z3950_databaseName
,
9651 { "databaseName", "z3950.databaseName",
9652 FT_STRING
, BASE_NONE
, NULL
, 0,
9655 { "dbSort", "z3950.dbSort",
9656 FT_UINT32
, BASE_DEC
, VALS(z3950_SortKey_vals
), 0,
9657 "SortKey", HFILL
}},
9658 { &hf_z3950_sortfield
,
9659 { "sortfield", "z3950.sortfield",
9660 FT_STRING
, BASE_NONE
, NULL
, 0,
9661 "InternationalString", HFILL
}},
9662 { &hf_z3950_sortKey_elementSpec
,
9663 { "elementSpec", "z3950.elementSpec_element",
9664 FT_NONE
, BASE_NONE
, NULL
, 0,
9665 "Specification", HFILL
}},
9666 { &hf_z3950_sortAttributes
,
9667 { "sortAttributes", "z3950.sortAttributes_element",
9668 FT_NONE
, BASE_NONE
, NULL
, 0,
9670 { &hf_z3950_sortAttributes_id
,
9672 FT_OID
, BASE_NONE
, NULL
, 0,
9673 "AttributeSetId", HFILL
}},
9674 { &hf_z3950_sortAttributes_list
,
9675 { "list", "z3950.list",
9676 FT_UINT32
, BASE_DEC
, NULL
, 0,
9677 "AttributeList", HFILL
}},
9678 { &hf_z3950_function
,
9679 { "function", "z3950.function",
9680 FT_INT32
, BASE_DEC
, VALS(z3950_T_function_vals
), 0,
9682 { &hf_z3950_packageType
,
9683 { "packageType", "z3950.packageType",
9684 FT_OID
, BASE_NONE
, NULL
, 0,
9685 "OBJECT_IDENTIFIER", HFILL
}},
9686 { &hf_z3950_packageName
,
9687 { "packageName", "z3950.packageName",
9688 FT_STRING
, BASE_NONE
, NULL
, 0,
9689 "InternationalString", HFILL
}},
9690 { &hf_z3950_retentionTime
,
9691 { "retentionTime", "z3950.retentionTime_element",
9692 FT_NONE
, BASE_NONE
, NULL
, 0,
9693 "IntUnit", HFILL
}},
9694 { &hf_z3950_permissions
,
9695 { "permissions", "z3950.permissions",
9696 FT_UINT32
, BASE_DEC
, NULL
, 0,
9698 { &hf_z3950_extendedServicesRequest_description
,
9699 { "description", "z3950.description",
9700 FT_STRING
, BASE_NONE
, NULL
, 0,
9701 "InternationalString", HFILL
}},
9702 { &hf_z3950_taskSpecificParameters
,
9703 { "taskSpecificParameters", "z3950.taskSpecificParameters_element",
9704 FT_NONE
, BASE_NONE
, NULL
, 0,
9705 "EXTERNAL", HFILL
}},
9706 { &hf_z3950_waitAction
,
9707 { "waitAction", "z3950.waitAction",
9708 FT_INT32
, BASE_DEC
, VALS(z3950_T_waitAction_vals
), 0,
9710 { &hf_z3950_elements
,
9711 { "elements", "z3950.elements",
9712 FT_STRING
, BASE_NONE
, NULL
, 0,
9713 "ElementSetName", HFILL
}},
9714 { &hf_z3950_operationStatus
,
9715 { "operationStatus", "z3950.operationStatus",
9716 FT_INT32
, BASE_DEC
, VALS(z3950_T_operationStatus_vals
), 0,
9718 { &hf_z3950_taskPackage
,
9719 { "taskPackage", "z3950.taskPackage_element",
9720 FT_NONE
, BASE_NONE
, NULL
, 0,
9721 "EXTERNAL", HFILL
}},
9722 { &hf_z3950_Permissions_item
,
9723 { "Permissions item", "z3950.Permissions_item_element",
9724 FT_NONE
, BASE_NONE
, NULL
, 0,
9726 { &hf_z3950_allowableFunctions
,
9727 { "allowableFunctions", "z3950.allowableFunctions",
9728 FT_UINT32
, BASE_DEC
, NULL
, 0,
9730 { &hf_z3950_allowableFunctions_item
,
9731 { "allowableFunctions item", "z3950.allowableFunctions_item",
9732 FT_INT32
, BASE_DEC
, VALS(z3950_T_allowableFunctions_item_vals
), 0,
9734 { &hf_z3950_closeReason
,
9735 { "closeReason", "z3950.closeReason",
9736 FT_INT32
, BASE_DEC
, VALS(z3950_CloseReason_U_vals
), 0,
9738 { &hf_z3950_diagnosticInformation
,
9739 { "diagnosticInformation", "z3950.diagnosticInformation",
9740 FT_STRING
, BASE_NONE
, NULL
, 0,
9741 "InternationalString", HFILL
}},
9742 { &hf_z3950_resourceReportFormat
,
9743 { "resourceReportFormat", "z3950.resourceReportFormat",
9744 FT_OID
, BASE_NONE
, NULL
, 0,
9745 "ResourceReportId", HFILL
}},
9746 { &hf_z3950_otherInformation_item
,
9747 { "_untag item", "z3950._untag_item_element",
9748 FT_NONE
, BASE_NONE
, NULL
, 0,
9750 { &hf_z3950_category
,
9751 { "category", "z3950.category_element",
9752 FT_NONE
, BASE_NONE
, NULL
, 0,
9753 "InfoCategory", HFILL
}},
9754 { &hf_z3950_information
,
9755 { "information", "z3950.information",
9756 FT_UINT32
, BASE_DEC
, VALS(z3950_T_information_vals
), 0,
9758 { &hf_z3950_characterInfo
,
9759 { "characterInfo", "z3950.characterInfo",
9760 FT_STRING
, BASE_NONE
, NULL
, 0,
9761 "InternationalString", HFILL
}},
9762 { &hf_z3950_binaryInfo
,
9763 { "binaryInfo", "z3950.binaryInfo",
9764 FT_BYTES
, BASE_NONE
, NULL
, 0,
9765 "OCTET_STRING", HFILL
}},
9766 { &hf_z3950_externallyDefinedInfo
,
9767 { "externallyDefinedInfo", "z3950.externallyDefinedInfo_element",
9768 FT_NONE
, BASE_NONE
, NULL
, 0,
9769 "EXTERNAL", HFILL
}},
9770 { &hf_z3950_categoryTypeId
,
9771 { "categoryTypeId", "z3950.categoryTypeId",
9772 FT_OID
, BASE_NONE
, NULL
, 0,
9773 "OBJECT_IDENTIFIER", HFILL
}},
9774 { &hf_z3950_categoryValue
,
9775 { "categoryValue", "z3950.categoryValue",
9776 FT_INT32
, BASE_DEC
, NULL
, 0,
9777 "INTEGER", HFILL
}},
9779 { "value", "z3950.value",
9780 FT_INT32
, BASE_DEC
, NULL
, 0,
9781 "INTEGER", HFILL
}},
9782 { &hf_z3950_unitUsed
,
9783 { "unitUsed", "z3950.unitUsed_element",
9784 FT_NONE
, BASE_NONE
, NULL
, 0,
9786 { &hf_z3950_unitSystem
,
9787 { "unitSystem", "z3950.unitSystem",
9788 FT_STRING
, BASE_NONE
, NULL
, 0,
9789 "InternationalString", HFILL
}},
9790 { &hf_z3950_unitType
,
9791 { "unitType", "z3950.unitType",
9792 FT_UINT32
, BASE_DEC
, VALS(z3950_StringOrNumeric_vals
), 0,
9793 "StringOrNumeric", HFILL
}},
9795 { "unit", "z3950.unit",
9796 FT_UINT32
, BASE_DEC
, VALS(z3950_StringOrNumeric_vals
), 0,
9797 "StringOrNumeric", HFILL
}},
9798 { &hf_z3950_scaleFactor
,
9799 { "scaleFactor", "z3950.scaleFactor",
9800 FT_INT32
, BASE_DEC
, NULL
, 0,
9801 "INTEGER", HFILL
}},
9803 { "string", "z3950.string",
9804 FT_STRING
, BASE_NONE
, NULL
, 0,
9805 "InternationalString", HFILL
}},
9807 { "motd", "z3950.motd",
9808 FT_STRING
, BASE_NONE
, NULL
, 0,
9809 "VisibleString", HFILL
}},
9811 { "dblist", "z3950.dblist",
9812 FT_UINT32
, BASE_DEC
, NULL
, 0,
9813 "SEQUENCE_OF_DBName", HFILL
}},
9814 { &hf_z3950_dblist_item
,
9815 { "DBName", "z3950.DBName",
9816 FT_STRING
, BASE_NONE
, NULL
, 0,
9818 { &hf_z3950_failReason
,
9819 { "failReason", "z3950.failReason",
9820 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
9821 "BOOLEAN", HFILL
}},
9822 { &hf_z3950_oCLC_UserInformation_text
,
9823 { "text", "z3950.text",
9824 FT_STRING
, BASE_NONE
, NULL
, 0,
9825 "VisibleString", HFILL
}},
9826 { &hf_z3950_bibliographicRecord
,
9827 { "bibliographicRecord", "z3950.bibliographicRecord_element",
9828 FT_NONE
, BASE_NONE
, NULL
, 0,
9829 "EXTERNAL", HFILL
}},
9830 { &hf_z3950_holdingsData
,
9831 { "holdingsData", "z3950.holdingsData",
9832 FT_UINT32
, BASE_DEC
, NULL
, 0,
9833 "SEQUENCE_OF_HoldingsRecord", HFILL
}},
9834 { &hf_z3950_holdingsData_item
,
9835 { "HoldingsRecord", "z3950.HoldingsRecord",
9836 FT_UINT32
, BASE_DEC
, VALS(z3950_HoldingsRecord_vals
), 0,
9838 { &hf_z3950_marcHoldingsRecord
,
9839 { "marcHoldingsRecord", "z3950.marcHoldingsRecord_element",
9840 FT_NONE
, BASE_NONE
, NULL
, 0,
9841 "EXTERNAL", HFILL
}},
9842 { &hf_z3950_holdingsAndCirc
,
9843 { "holdingsAndCirc", "z3950.holdingsAndCirc_element",
9844 FT_NONE
, BASE_NONE
, NULL
, 0,
9845 "HoldingsAndCircData", HFILL
}},
9846 { &hf_z3950_typeOfRecord
,
9847 { "typeOfRecord", "z3950.typeOfRecord",
9848 FT_STRING
, BASE_NONE
, NULL
, 0,
9849 "InternationalString", HFILL
}},
9850 { &hf_z3950_encodingLevel
,
9851 { "encodingLevel", "z3950.encodingLevel",
9852 FT_STRING
, BASE_NONE
, NULL
, 0,
9853 "InternationalString", HFILL
}},
9855 { "format", "z3950.format",
9856 FT_STRING
, BASE_NONE
, NULL
, 0,
9857 "InternationalString", HFILL
}},
9858 { &hf_z3950_receiptAcqStatus
,
9859 { "receiptAcqStatus", "z3950.receiptAcqStatus",
9860 FT_STRING
, BASE_NONE
, NULL
, 0,
9861 "InternationalString", HFILL
}},
9862 { &hf_z3950_generalRetention
,
9863 { "generalRetention", "z3950.generalRetention",
9864 FT_STRING
, BASE_NONE
, NULL
, 0,
9865 "InternationalString", HFILL
}},
9866 { &hf_z3950_completeness
,
9867 { "completeness", "z3950.completeness",
9868 FT_STRING
, BASE_NONE
, NULL
, 0,
9869 "InternationalString", HFILL
}},
9870 { &hf_z3950_dateOfReport
,
9871 { "dateOfReport", "z3950.dateOfReport",
9872 FT_STRING
, BASE_NONE
, NULL
, 0,
9873 "InternationalString", HFILL
}},
9874 { &hf_z3950_nucCode
,
9875 { "nucCode", "z3950.nucCode",
9876 FT_STRING
, BASE_NONE
, NULL
, 0,
9877 "InternationalString", HFILL
}},
9878 { &hf_z3950_localLocation
,
9879 { "localLocation", "z3950.localLocation",
9880 FT_STRING
, BASE_NONE
, NULL
, 0,
9881 "InternationalString", HFILL
}},
9882 { &hf_z3950_shelvingLocation
,
9883 { "shelvingLocation", "z3950.shelvingLocation",
9884 FT_STRING
, BASE_NONE
, NULL
, 0,
9885 "InternationalString", HFILL
}},
9886 { &hf_z3950_callNumber
,
9887 { "callNumber", "z3950.callNumber",
9888 FT_STRING
, BASE_NONE
, NULL
, 0,
9889 "InternationalString", HFILL
}},
9890 { &hf_z3950_shelvingData
,
9891 { "shelvingData", "z3950.shelvingData",
9892 FT_STRING
, BASE_NONE
, NULL
, 0,
9893 "InternationalString", HFILL
}},
9894 { &hf_z3950_copyNumber
,
9895 { "copyNumber", "z3950.copyNumber",
9896 FT_STRING
, BASE_NONE
, NULL
, 0,
9897 "InternationalString", HFILL
}},
9898 { &hf_z3950_publicNote
,
9899 { "publicNote", "z3950.publicNote",
9900 FT_STRING
, BASE_NONE
, NULL
, 0,
9901 "InternationalString", HFILL
}},
9902 { &hf_z3950_reproductionNote
,
9903 { "reproductionNote", "z3950.reproductionNote",
9904 FT_STRING
, BASE_NONE
, NULL
, 0,
9905 "InternationalString", HFILL
}},
9906 { &hf_z3950_termsUseRepro
,
9907 { "termsUseRepro", "z3950.termsUseRepro",
9908 FT_STRING
, BASE_NONE
, NULL
, 0,
9909 "InternationalString", HFILL
}},
9910 { &hf_z3950_enumAndChron
,
9911 { "enumAndChron", "z3950.enumAndChron",
9912 FT_STRING
, BASE_NONE
, NULL
, 0,
9913 "InternationalString", HFILL
}},
9914 { &hf_z3950_volumes
,
9915 { "volumes", "z3950.volumes",
9916 FT_UINT32
, BASE_DEC
, NULL
, 0,
9917 "SEQUENCE_OF_Volume", HFILL
}},
9918 { &hf_z3950_volumes_item
,
9919 { "Volume", "z3950.Volume_element",
9920 FT_NONE
, BASE_NONE
, NULL
, 0,
9922 { &hf_z3950_circulationData
,
9923 { "circulationData", "z3950.circulationData",
9924 FT_UINT32
, BASE_DEC
, NULL
, 0,
9925 "SEQUENCE_OF_CircRecord", HFILL
}},
9926 { &hf_z3950_circulationData_item
,
9927 { "CircRecord", "z3950.CircRecord_element",
9928 FT_NONE
, BASE_NONE
, NULL
, 0,
9930 { &hf_z3950_enumeration
,
9931 { "enumeration", "z3950.enumeration",
9932 FT_STRING
, BASE_NONE
, NULL
, 0,
9933 "InternationalString", HFILL
}},
9934 { &hf_z3950_chronology
,
9935 { "chronology", "z3950.chronology",
9936 FT_STRING
, BASE_NONE
, NULL
, 0,
9937 "InternationalString", HFILL
}},
9938 { &hf_z3950_availableNow
,
9939 { "availableNow", "z3950.availableNow",
9940 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
9941 "BOOLEAN", HFILL
}},
9942 { &hf_z3950_availablityDate
,
9943 { "availablityDate", "z3950.availablityDate",
9944 FT_STRING
, BASE_NONE
, NULL
, 0,
9945 "InternationalString", HFILL
}},
9946 { &hf_z3950_availableThru
,
9947 { "availableThru", "z3950.availableThru",
9948 FT_STRING
, BASE_NONE
, NULL
, 0,
9949 "InternationalString", HFILL
}},
9950 { &hf_z3950_circRecord_restrictions
,
9951 { "restrictions", "z3950.restrictions",
9952 FT_STRING
, BASE_NONE
, NULL
, 0,
9953 "InternationalString", HFILL
}},
9955 { "itemId", "z3950.itemId",
9956 FT_STRING
, BASE_NONE
, NULL
, 0,
9957 "InternationalString", HFILL
}},
9958 { &hf_z3950_renewable
,
9959 { "renewable", "z3950.renewable",
9960 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
9961 "BOOLEAN", HFILL
}},
9963 { "onHold", "z3950.onHold",
9964 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
9965 "BOOLEAN", HFILL
}},
9966 { &hf_z3950_midspine
,
9967 { "midspine", "z3950.midspine",
9968 FT_STRING
, BASE_NONE
, NULL
, 0,
9969 "InternationalString", HFILL
}},
9970 { &hf_z3950_temporaryLocation
,
9971 { "temporaryLocation", "z3950.temporaryLocation",
9972 FT_STRING
, BASE_NONE
, NULL
, 0,
9973 "InternationalString", HFILL
}},
9974 { &hf_z3950_DiagnosticFormat_item
,
9975 { "DiagnosticFormat item", "z3950.DiagnosticFormat_item_element",
9976 FT_NONE
, BASE_NONE
, NULL
, 0,
9978 { &hf_z3950_diagnosticFormat_item_diagnostic
,
9979 { "diagnostic", "z3950.diagnostic",
9980 FT_UINT32
, BASE_DEC
, VALS(z3950_T_diagnosticFormat_item_diagnostic_vals
), 0,
9981 "T_diagnosticFormat_item_diagnostic", HFILL
}},
9982 { &hf_z3950_defaultDiagRec
,
9983 { "defaultDiagRec", "z3950.defaultDiagRec_element",
9984 FT_NONE
, BASE_NONE
, NULL
, 0,
9985 "DefaultDiagFormat", HFILL
}},
9986 { &hf_z3950_explicitDiagnostic
,
9987 { "explicitDiagnostic", "z3950.explicitDiagnostic",
9988 FT_UINT32
, BASE_DEC
, VALS(z3950_DiagFormat_vals
), 0,
9989 "DiagFormat", HFILL
}},
9990 { &hf_z3950_message
,
9991 { "message", "z3950.message",
9992 FT_STRING
, BASE_NONE
, NULL
, 0,
9993 "InternationalString", HFILL
}},
9994 { &hf_z3950_tooMany
,
9995 { "tooMany", "z3950.tooMany_element",
9996 FT_NONE
, BASE_NONE
, NULL
, 0,
9998 { &hf_z3950_tooManyWhat
,
9999 { "tooManyWhat", "z3950.tooManyWhat",
10000 FT_INT32
, BASE_DEC
, VALS(z3950_T_tooManyWhat_vals
), 0,
10003 { "max", "z3950.max",
10004 FT_INT32
, BASE_DEC
, NULL
, 0,
10005 "INTEGER", HFILL
}},
10006 { &hf_z3950_badSpec
,
10007 { "badSpec", "z3950.badSpec_element",
10008 FT_NONE
, BASE_NONE
, NULL
, 0,
10010 { &hf_z3950_goodOnes
,
10011 { "goodOnes", "z3950.goodOnes",
10012 FT_UINT32
, BASE_DEC
, NULL
, 0,
10013 "SEQUENCE_OF_Specification", HFILL
}},
10014 { &hf_z3950_goodOnes_item
,
10015 { "Specification", "z3950.Specification_element",
10016 FT_NONE
, BASE_NONE
, NULL
, 0,
10018 { &hf_z3950_dbUnavail
,
10019 { "dbUnavail", "z3950.dbUnavail_element",
10020 FT_NONE
, BASE_NONE
, NULL
, 0,
10023 { "why", "z3950.why_element",
10024 FT_NONE
, BASE_NONE
, NULL
, 0,
10026 { &hf_z3950_reasonCode
,
10027 { "reasonCode", "z3950.reasonCode",
10028 FT_INT32
, BASE_DEC
, VALS(z3950_T_reasonCode_vals
), 0,
10030 { &hf_z3950_unSupOp
,
10031 { "unSupOp", "z3950.unSupOp",
10032 FT_INT32
, BASE_DEC
, VALS(z3950_T_unSupOp_vals
), 0,
10034 { &hf_z3950_attribute
,
10035 { "attribute", "z3950.attribute_element",
10036 FT_NONE
, BASE_NONE
, NULL
, 0,
10039 { "id", "z3950.id",
10040 FT_OID
, BASE_NONE
, NULL
, 0,
10041 "OBJECT_IDENTIFIER", HFILL
}},
10043 { "type", "z3950.type",
10044 FT_INT32
, BASE_DEC
, NULL
, 0,
10045 "INTEGER", HFILL
}},
10046 { &hf_z3950_attCombo
,
10047 { "attCombo", "z3950.attCombo_element",
10048 FT_NONE
, BASE_NONE
, NULL
, 0,
10050 { &hf_z3950_unsupportedCombination
,
10051 { "unsupportedCombination", "z3950.unsupportedCombination",
10052 FT_UINT32
, BASE_DEC
, NULL
, 0,
10053 "AttributeList", HFILL
}},
10054 { &hf_z3950_recommendedAlternatives
,
10055 { "recommendedAlternatives", "z3950.recommendedAlternatives",
10056 FT_UINT32
, BASE_DEC
, NULL
, 0,
10057 "SEQUENCE_OF_AttributeList", HFILL
}},
10058 { &hf_z3950_recommendedAlternatives_item
,
10059 { "AttributeList", "z3950.AttributeList",
10060 FT_UINT32
, BASE_DEC
, NULL
, 0,
10062 { &hf_z3950_diagFormat_term
,
10063 { "term", "z3950.term_element",
10064 FT_NONE
, BASE_NONE
, NULL
, 0,
10065 "T_diagFormat_term", HFILL
}},
10066 { &hf_z3950_problem
,
10067 { "problem", "z3950.problem",
10068 FT_INT32
, BASE_DEC
, VALS(z3950_T_problem_vals
), 0,
10070 { &hf_z3950_diagFormat_proximity
,
10071 { "proximity", "z3950.proximity",
10072 FT_UINT32
, BASE_DEC
, VALS(z3950_T_diagFormat_proximity_vals
), 0,
10073 "T_diagFormat_proximity", HFILL
}},
10074 { &hf_z3950_resultSets
,
10075 { "resultSets", "z3950.resultSets_element",
10076 FT_NONE
, BASE_NONE
, NULL
, 0,
10078 { &hf_z3950_badSet
,
10079 { "badSet", "z3950.badSet",
10080 FT_STRING
, BASE_NONE
, NULL
, 0,
10081 "InternationalString", HFILL
}},
10082 { &hf_z3950_relation
,
10083 { "relation", "z3950.relation",
10084 FT_INT32
, BASE_DEC
, NULL
, 0,
10085 "INTEGER", HFILL
}},
10086 { &hf_z3950_diagFormat_proximity_unit
,
10087 { "unit", "z3950.unit",
10088 FT_INT32
, BASE_DEC
, NULL
, 0,
10089 "INTEGER", HFILL
}},
10090 { &hf_z3950_diagFormat_proximity_ordered
,
10091 { "ordered", "z3950.ordered_element",
10092 FT_NONE
, BASE_NONE
, NULL
, 0,
10094 { &hf_z3950_diagFormat_proximity_exclusion
,
10095 { "exclusion", "z3950.exclusion_element",
10096 FT_NONE
, BASE_NONE
, NULL
, 0,
10099 { "scan", "z3950.scan",
10100 FT_UINT32
, BASE_DEC
, VALS(z3950_T_scan_vals
), 0,
10102 { &hf_z3950_nonZeroStepSize
,
10103 { "nonZeroStepSize", "z3950.nonZeroStepSize_element",
10104 FT_NONE
, BASE_NONE
, NULL
, 0,
10106 { &hf_z3950_specifiedStepSize
,
10107 { "specifiedStepSize", "z3950.specifiedStepSize_element",
10108 FT_NONE
, BASE_NONE
, NULL
, 0,
10110 { &hf_z3950_termList1
,
10111 { "termList1", "z3950.termList1_element",
10112 FT_NONE
, BASE_NONE
, NULL
, 0,
10114 { &hf_z3950_termList2
,
10115 { "termList2", "z3950.termList2",
10116 FT_UINT32
, BASE_DEC
, NULL
, 0,
10117 "SEQUENCE_OF_AttributeList", HFILL
}},
10118 { &hf_z3950_termList2_item
,
10119 { "AttributeList", "z3950.AttributeList",
10120 FT_UINT32
, BASE_DEC
, NULL
, 0,
10122 { &hf_z3950_posInResponse
,
10123 { "posInResponse", "z3950.posInResponse",
10124 FT_INT32
, BASE_DEC
, VALS(z3950_T_posInResponse_vals
), 0,
10126 { &hf_z3950_resources
,
10127 { "resources", "z3950.resources_element",
10128 FT_NONE
, BASE_NONE
, NULL
, 0,
10130 { &hf_z3950_endOfList
,
10131 { "endOfList", "z3950.endOfList_element",
10132 FT_NONE
, BASE_NONE
, NULL
, 0,
10135 { "sort", "z3950.sort",
10136 FT_UINT32
, BASE_DEC
, VALS(z3950_T_sort_vals
), 0,
10138 { &hf_z3950_sequence
,
10139 { "sequence", "z3950.sequence_element",
10140 FT_NONE
, BASE_NONE
, NULL
, 0,
10142 { &hf_z3950_noRsName
,
10143 { "noRsName", "z3950.noRsName_element",
10144 FT_NONE
, BASE_NONE
, NULL
, 0,
10146 { &hf_z3950_diagFormat_sort_tooMany
,
10147 { "tooMany", "z3950.tooMany",
10148 FT_INT32
, BASE_DEC
, NULL
, 0,
10149 "INTEGER", HFILL
}},
10150 { &hf_z3950_incompatible
,
10151 { "incompatible", "z3950.incompatible_element",
10152 FT_NONE
, BASE_NONE
, NULL
, 0,
10154 { &hf_z3950_generic
,
10155 { "generic", "z3950.generic_element",
10156 FT_NONE
, BASE_NONE
, NULL
, 0,
10158 { &hf_z3950_diagFormat_sort_dbSpecific
,
10159 { "dbSpecific", "z3950.dbSpecific_element",
10160 FT_NONE
, BASE_NONE
, NULL
, 0,
10163 { "key", "z3950.key",
10164 FT_INT32
, BASE_DEC
, VALS(z3950_T_key_vals
), 0,
10166 { &hf_z3950_action
,
10167 { "action", "z3950.action_element",
10168 FT_NONE
, BASE_NONE
, NULL
, 0,
10170 { &hf_z3950_illegal
,
10171 { "illegal", "z3950.illegal",
10172 FT_INT32
, BASE_DEC
, VALS(z3950_T_illegal_vals
), 0,
10174 { &hf_z3950_inputTooLarge
,
10175 { "inputTooLarge", "z3950.inputTooLarge",
10176 FT_UINT32
, BASE_DEC
, NULL
, 0,
10177 "SEQUENCE_OF_InternationalString", HFILL
}},
10178 { &hf_z3950_inputTooLarge_item
,
10179 { "InternationalString", "z3950.InternationalString",
10180 FT_STRING
, BASE_NONE
, NULL
, 0,
10182 { &hf_z3950_aggregateTooLarge
,
10183 { "aggregateTooLarge", "z3950.aggregateTooLarge_element",
10184 FT_NONE
, BASE_NONE
, NULL
, 0,
10186 { &hf_z3950_segmentation
,
10187 { "segmentation", "z3950.segmentation",
10188 FT_UINT32
, BASE_DEC
, VALS(z3950_T_segmentation_vals
), 0,
10190 { &hf_z3950_segmentCount
,
10191 { "segmentCount", "z3950.segmentCount_element",
10192 FT_NONE
, BASE_NONE
, NULL
, 0,
10194 { &hf_z3950_segmentSize
,
10195 { "segmentSize", "z3950.segmentSize",
10196 FT_INT32
, BASE_DEC
, NULL
, 0,
10197 "INTEGER", HFILL
}},
10198 { &hf_z3950_extServices
,
10199 { "extServices", "z3950.extServices",
10200 FT_UINT32
, BASE_DEC
, VALS(z3950_T_extServices_vals
), 0,
10203 { "req", "z3950.req",
10204 FT_INT32
, BASE_DEC
, VALS(z3950_T_req_vals
), 0,
10206 { &hf_z3950_permission
,
10207 { "permission", "z3950.permission",
10208 FT_INT32
, BASE_DEC
, VALS(z3950_T_permission_vals
), 0,
10210 { &hf_z3950_immediate
,
10211 { "immediate", "z3950.immediate",
10212 FT_INT32
, BASE_DEC
, VALS(z3950_T_immediate_vals
), 0,
10214 { &hf_z3950_accessCtrl
,
10215 { "accessCtrl", "z3950.accessCtrl",
10216 FT_UINT32
, BASE_DEC
, VALS(z3950_T_accessCtrl_vals
), 0,
10218 { &hf_z3950_noUser
,
10219 { "noUser", "z3950.noUser_element",
10220 FT_NONE
, BASE_NONE
, NULL
, 0,
10222 { &hf_z3950_refused
,
10223 { "refused", "z3950.refused_element",
10224 FT_NONE
, BASE_NONE
, NULL
, 0,
10226 { &hf_z3950_diagFormat_accessCtrl_simple
,
10227 { "simple", "z3950.simple_element",
10228 FT_NONE
, BASE_NONE
, NULL
, 0,
10230 { &hf_z3950_diagFormat_accessCtrl_oid
,
10231 { "oid", "z3950.oid",
10232 FT_UINT32
, BASE_DEC
, NULL
, 0,
10233 "T_diagFormat_accessCtrl_oid", HFILL
}},
10234 { &hf_z3950_diagFormat_accessCtrl_oid_item
,
10235 { "oid item", "z3950.oid_item",
10236 FT_OID
, BASE_NONE
, NULL
, 0,
10237 "OBJECT_IDENTIFIER", HFILL
}},
10238 { &hf_z3950_alternative
,
10239 { "alternative", "z3950.alternative",
10240 FT_UINT32
, BASE_DEC
, NULL
, 0,
10242 { &hf_z3950_alternative_item
,
10243 { "alternative item", "z3950.alternative_item",
10244 FT_OID
, BASE_NONE
, NULL
, 0,
10245 "OBJECT_IDENTIFIER", HFILL
}},
10246 { &hf_z3950_pwdInv
,
10247 { "pwdInv", "z3950.pwdInv_element",
10248 FT_NONE
, BASE_NONE
, NULL
, 0,
10250 { &hf_z3950_pwdExp
,
10251 { "pwdExp", "z3950.pwdExp_element",
10252 FT_NONE
, BASE_NONE
, NULL
, 0,
10254 { &hf_z3950_diagFormat_recordSyntax
,
10255 { "recordSyntax", "z3950.recordSyntax_element",
10256 FT_NONE
, BASE_NONE
, NULL
, 0,
10257 "T_diagFormat_recordSyntax", HFILL
}},
10258 { &hf_z3950_unsupportedSyntax
,
10259 { "unsupportedSyntax", "z3950.unsupportedSyntax",
10260 FT_OID
, BASE_NONE
, NULL
, 0,
10261 "OBJECT_IDENTIFIER", HFILL
}},
10262 { &hf_z3950_suggestedAlternatives
,
10263 { "suggestedAlternatives", "z3950.suggestedAlternatives",
10264 FT_UINT32
, BASE_DEC
, NULL
, 0,
10266 { &hf_z3950_suggestedAlternatives_item
,
10267 { "suggestedAlternatives item", "z3950.suggestedAlternatives_item",
10268 FT_OID
, BASE_NONE
, NULL
, 0,
10269 "OBJECT_IDENTIFIER", HFILL
}},
10270 { &hf_z3950_targetInfo
,
10271 { "targetInfo", "z3950.targetInfo_element",
10272 FT_NONE
, BASE_NONE
, NULL
, 0,
10274 { &hf_z3950_databaseInfo
,
10275 { "databaseInfo", "z3950.databaseInfo_element",
10276 FT_NONE
, BASE_NONE
, NULL
, 0,
10278 { &hf_z3950_schemaInfo
,
10279 { "schemaInfo", "z3950.schemaInfo_element",
10280 FT_NONE
, BASE_NONE
, NULL
, 0,
10282 { &hf_z3950_tagSetInfo
,
10283 { "tagSetInfo", "z3950.tagSetInfo_element",
10284 FT_NONE
, BASE_NONE
, NULL
, 0,
10286 { &hf_z3950_recordSyntaxInfo
,
10287 { "recordSyntaxInfo", "z3950.recordSyntaxInfo_element",
10288 FT_NONE
, BASE_NONE
, NULL
, 0,
10290 { &hf_z3950_attributeSetInfo
,
10291 { "attributeSetInfo", "z3950.attributeSetInfo_element",
10292 FT_NONE
, BASE_NONE
, NULL
, 0,
10294 { &hf_z3950_termListInfo
,
10295 { "termListInfo", "z3950.termListInfo_element",
10296 FT_NONE
, BASE_NONE
, NULL
, 0,
10298 { &hf_z3950_extendedServicesInfo
,
10299 { "extendedServicesInfo", "z3950.extendedServicesInfo_element",
10300 FT_NONE
, BASE_NONE
, NULL
, 0,
10302 { &hf_z3950_attributeDetails
,
10303 { "attributeDetails", "z3950.attributeDetails_element",
10304 FT_NONE
, BASE_NONE
, NULL
, 0,
10306 { &hf_z3950_termListDetails
,
10307 { "termListDetails", "z3950.termListDetails_element",
10308 FT_NONE
, BASE_NONE
, NULL
, 0,
10310 { &hf_z3950_elementSetDetails
,
10311 { "elementSetDetails", "z3950.elementSetDetails_element",
10312 FT_NONE
, BASE_NONE
, NULL
, 0,
10314 { &hf_z3950_retrievalRecordDetails
,
10315 { "retrievalRecordDetails", "z3950.retrievalRecordDetails_element",
10316 FT_NONE
, BASE_NONE
, NULL
, 0,
10318 { &hf_z3950_sortDetails
,
10319 { "sortDetails", "z3950.sortDetails_element",
10320 FT_NONE
, BASE_NONE
, NULL
, 0,
10322 { &hf_z3950_processing
,
10323 { "processing", "z3950.processing_element",
10324 FT_NONE
, BASE_NONE
, NULL
, 0,
10325 "ProcessingInformation", HFILL
}},
10326 { &hf_z3950_variants
,
10327 { "variants", "z3950.variants_element",
10328 FT_NONE
, BASE_NONE
, NULL
, 0,
10329 "VariantSetInfo", HFILL
}},
10331 { "units", "z3950.units_element",
10332 FT_NONE
, BASE_NONE
, NULL
, 0,
10333 "UnitInfo", HFILL
}},
10334 { &hf_z3950_categoryList
,
10335 { "categoryList", "z3950.categoryList_element",
10336 FT_NONE
, BASE_NONE
, NULL
, 0,
10338 { &hf_z3950_commonInfo
,
10339 { "commonInfo", "z3950.commonInfo_element",
10340 FT_NONE
, BASE_NONE
, NULL
, 0,
10343 { "name", "z3950.name",
10344 FT_STRING
, BASE_NONE
, NULL
, 0,
10345 "InternationalString", HFILL
}},
10346 { &hf_z3950_recent_news
,
10347 { "recent-news", "z3950.recent_news",
10348 FT_UINT32
, BASE_DEC
, NULL
, 0,
10349 "HumanString", HFILL
}},
10351 { "icon", "z3950.icon",
10352 FT_UINT32
, BASE_DEC
, NULL
, 0,
10353 "IconObject", HFILL
}},
10354 { &hf_z3950_namedResultSets
,
10355 { "namedResultSets", "z3950.namedResultSets",
10356 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10357 "BOOLEAN", HFILL
}},
10358 { &hf_z3950_multipleDBsearch
,
10359 { "multipleDBsearch", "z3950.multipleDBsearch",
10360 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10361 "BOOLEAN", HFILL
}},
10362 { &hf_z3950_maxResultSets
,
10363 { "maxResultSets", "z3950.maxResultSets",
10364 FT_INT32
, BASE_DEC
, NULL
, 0,
10365 "INTEGER", HFILL
}},
10366 { &hf_z3950_maxResultSize
,
10367 { "maxResultSize", "z3950.maxResultSize",
10368 FT_INT32
, BASE_DEC
, NULL
, 0,
10369 "INTEGER", HFILL
}},
10370 { &hf_z3950_maxTerms
,
10371 { "maxTerms", "z3950.maxTerms",
10372 FT_INT32
, BASE_DEC
, NULL
, 0,
10373 "INTEGER", HFILL
}},
10374 { &hf_z3950_timeoutInterval
,
10375 { "timeoutInterval", "z3950.timeoutInterval_element",
10376 FT_NONE
, BASE_NONE
, NULL
, 0,
10377 "IntUnit", HFILL
}},
10378 { &hf_z3950_welcomeMessage
,
10379 { "welcomeMessage", "z3950.welcomeMessage",
10380 FT_UINT32
, BASE_DEC
, NULL
, 0,
10381 "HumanString", HFILL
}},
10382 { &hf_z3950_contactInfo
,
10383 { "contactInfo", "z3950.contactInfo_element",
10384 FT_NONE
, BASE_NONE
, NULL
, 0,
10386 { &hf_z3950_description
,
10387 { "description", "z3950.description",
10388 FT_UINT32
, BASE_DEC
, NULL
, 0,
10389 "HumanString", HFILL
}},
10390 { &hf_z3950_nicknames
,
10391 { "nicknames", "z3950.nicknames",
10392 FT_UINT32
, BASE_DEC
, NULL
, 0,
10393 "SEQUENCE_OF_InternationalString", HFILL
}},
10394 { &hf_z3950_nicknames_item
,
10395 { "InternationalString", "z3950.InternationalString",
10396 FT_STRING
, BASE_NONE
, NULL
, 0,
10398 { &hf_z3950_usage_restrictions
,
10399 { "usage-restrictions", "z3950.usage_restrictions",
10400 FT_UINT32
, BASE_DEC
, NULL
, 0,
10401 "HumanString", HFILL
}},
10402 { &hf_z3950_paymentAddr
,
10403 { "paymentAddr", "z3950.paymentAddr",
10404 FT_UINT32
, BASE_DEC
, NULL
, 0,
10405 "HumanString", HFILL
}},
10407 { "hours", "z3950.hours",
10408 FT_UINT32
, BASE_DEC
, NULL
, 0,
10409 "HumanString", HFILL
}},
10410 { &hf_z3950_dbCombinations
,
10411 { "dbCombinations", "z3950.dbCombinations",
10412 FT_UINT32
, BASE_DEC
, NULL
, 0,
10413 "SEQUENCE_OF_DatabaseList", HFILL
}},
10414 { &hf_z3950_dbCombinations_item
,
10415 { "DatabaseList", "z3950.DatabaseList",
10416 FT_UINT32
, BASE_DEC
, NULL
, 0,
10418 { &hf_z3950_addresses
,
10419 { "addresses", "z3950.addresses",
10420 FT_UINT32
, BASE_DEC
, NULL
, 0,
10421 "SEQUENCE_OF_NetworkAddress", HFILL
}},
10422 { &hf_z3950_addresses_item
,
10423 { "NetworkAddress", "z3950.NetworkAddress",
10424 FT_UINT32
, BASE_DEC
, VALS(z3950_NetworkAddress_vals
), 0,
10426 { &hf_z3950_languages
,
10427 { "languages", "z3950.languages",
10428 FT_UINT32
, BASE_DEC
, NULL
, 0,
10429 "SEQUENCE_OF_InternationalString", HFILL
}},
10430 { &hf_z3950_languages_item
,
10431 { "InternationalString", "z3950.InternationalString",
10432 FT_STRING
, BASE_NONE
, NULL
, 0,
10434 { &hf_z3950_commonAccessInfo
,
10435 { "commonAccessInfo", "z3950.commonAccessInfo_element",
10436 FT_NONE
, BASE_NONE
, NULL
, 0,
10437 "AccessInfo", HFILL
}},
10438 { &hf_z3950_databaseInfo_name
,
10439 { "name", "z3950.name",
10440 FT_STRING
, BASE_NONE
, NULL
, 0,
10441 "DatabaseName", HFILL
}},
10442 { &hf_z3950_explainDatabase
,
10443 { "explainDatabase", "z3950.explainDatabase_element",
10444 FT_NONE
, BASE_NONE
, NULL
, 0,
10446 { &hf_z3950_databaseInfo_nicknames
,
10447 { "nicknames", "z3950.nicknames",
10448 FT_UINT32
, BASE_DEC
, NULL
, 0,
10449 "SEQUENCE_OF_DatabaseName", HFILL
}},
10450 { &hf_z3950_databaseInfo_nicknames_item
,
10451 { "DatabaseName", "z3950.DatabaseName",
10452 FT_STRING
, BASE_NONE
, NULL
, 0,
10454 { &hf_z3950_user_fee
,
10455 { "user-fee", "z3950.user_fee",
10456 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10457 "BOOLEAN", HFILL
}},
10458 { &hf_z3950_available
,
10459 { "available", "z3950.available",
10460 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10461 "BOOLEAN", HFILL
}},
10462 { &hf_z3950_titleString
,
10463 { "titleString", "z3950.titleString",
10464 FT_UINT32
, BASE_DEC
, NULL
, 0,
10465 "HumanString", HFILL
}},
10466 { &hf_z3950_keywords
,
10467 { "keywords", "z3950.keywords",
10468 FT_UINT32
, BASE_DEC
, NULL
, 0,
10469 "SEQUENCE_OF_HumanString", HFILL
}},
10470 { &hf_z3950_keywords_item
,
10471 { "HumanString", "z3950.HumanString",
10472 FT_UINT32
, BASE_DEC
, NULL
, 0,
10474 { &hf_z3950_associatedDbs
,
10475 { "associatedDbs", "z3950.associatedDbs",
10476 FT_UINT32
, BASE_DEC
, NULL
, 0,
10477 "DatabaseList", HFILL
}},
10478 { &hf_z3950_subDbs
,
10479 { "subDbs", "z3950.subDbs",
10480 FT_UINT32
, BASE_DEC
, NULL
, 0,
10481 "DatabaseList", HFILL
}},
10482 { &hf_z3950_disclaimers
,
10483 { "disclaimers", "z3950.disclaimers",
10484 FT_UINT32
, BASE_DEC
, NULL
, 0,
10485 "HumanString", HFILL
}},
10487 { "news", "z3950.news",
10488 FT_UINT32
, BASE_DEC
, NULL
, 0,
10489 "HumanString", HFILL
}},
10490 { &hf_z3950_recordCount
,
10491 { "recordCount", "z3950.recordCount",
10492 FT_UINT32
, BASE_DEC
, VALS(z3950_T_recordCount_vals
), 0,
10494 { &hf_z3950_actualNumber
,
10495 { "actualNumber", "z3950.actualNumber",
10496 FT_INT32
, BASE_DEC
, NULL
, 0,
10497 "INTEGER", HFILL
}},
10498 { &hf_z3950_approxNumber
,
10499 { "approxNumber", "z3950.approxNumber",
10500 FT_INT32
, BASE_DEC
, NULL
, 0,
10501 "INTEGER", HFILL
}},
10502 { &hf_z3950_defaultOrder
,
10503 { "defaultOrder", "z3950.defaultOrder",
10504 FT_UINT32
, BASE_DEC
, NULL
, 0,
10505 "HumanString", HFILL
}},
10506 { &hf_z3950_avRecordSize
,
10507 { "avRecordSize", "z3950.avRecordSize",
10508 FT_INT32
, BASE_DEC
, NULL
, 0,
10509 "INTEGER", HFILL
}},
10510 { &hf_z3950_bestTime
,
10511 { "bestTime", "z3950.bestTime",
10512 FT_UINT32
, BASE_DEC
, NULL
, 0,
10513 "HumanString", HFILL
}},
10514 { &hf_z3950_lastUpdate
,
10515 { "lastUpdate", "z3950.lastUpdate",
10516 FT_ABSOLUTE_TIME
, ABSOLUTE_TIME_LOCAL
, NULL
, 0,
10517 "GeneralizedTime", HFILL
}},
10518 { &hf_z3950_updateInterval
,
10519 { "updateInterval", "z3950.updateInterval_element",
10520 FT_NONE
, BASE_NONE
, NULL
, 0,
10521 "IntUnit", HFILL
}},
10522 { &hf_z3950_coverage
,
10523 { "coverage", "z3950.coverage",
10524 FT_UINT32
, BASE_DEC
, NULL
, 0,
10525 "HumanString", HFILL
}},
10526 { &hf_z3950_proprietary
,
10527 { "proprietary", "z3950.proprietary",
10528 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10529 "BOOLEAN", HFILL
}},
10530 { &hf_z3950_copyrightText
,
10531 { "copyrightText", "z3950.copyrightText",
10532 FT_UINT32
, BASE_DEC
, NULL
, 0,
10533 "HumanString", HFILL
}},
10534 { &hf_z3950_copyrightNotice
,
10535 { "copyrightNotice", "z3950.copyrightNotice",
10536 FT_UINT32
, BASE_DEC
, NULL
, 0,
10537 "HumanString", HFILL
}},
10538 { &hf_z3950_producerContactInfo
,
10539 { "producerContactInfo", "z3950.producerContactInfo_element",
10540 FT_NONE
, BASE_NONE
, NULL
, 0,
10541 "ContactInfo", HFILL
}},
10542 { &hf_z3950_supplierContactInfo
,
10543 { "supplierContactInfo", "z3950.supplierContactInfo_element",
10544 FT_NONE
, BASE_NONE
, NULL
, 0,
10545 "ContactInfo", HFILL
}},
10546 { &hf_z3950_submissionContactInfo
,
10547 { "submissionContactInfo", "z3950.submissionContactInfo_element",
10548 FT_NONE
, BASE_NONE
, NULL
, 0,
10549 "ContactInfo", HFILL
}},
10550 { &hf_z3950_accessInfo
,
10551 { "accessInfo", "z3950.accessInfo_element",
10552 FT_NONE
, BASE_NONE
, NULL
, 0,
10554 { &hf_z3950_tagTypeMapping
,
10555 { "tagTypeMapping", "z3950.tagTypeMapping",
10556 FT_UINT32
, BASE_DEC
, NULL
, 0,
10558 { &hf_z3950_tagTypeMapping_item
,
10559 { "tagTypeMapping item", "z3950.tagTypeMapping_item_element",
10560 FT_NONE
, BASE_NONE
, NULL
, 0,
10562 { &hf_z3950_tagType
,
10563 { "tagType", "z3950.tagType",
10564 FT_INT32
, BASE_DEC
, NULL
, 0,
10565 "INTEGER", HFILL
}},
10566 { &hf_z3950_tagSet
,
10567 { "tagSet", "z3950.tagSet",
10568 FT_OID
, BASE_NONE
, NULL
, 0,
10569 "OBJECT_IDENTIFIER", HFILL
}},
10570 { &hf_z3950_defaultTagType
,
10571 { "defaultTagType", "z3950.defaultTagType_element",
10572 FT_NONE
, BASE_NONE
, NULL
, 0,
10574 { &hf_z3950_recordStructure
,
10575 { "recordStructure", "z3950.recordStructure",
10576 FT_UINT32
, BASE_DEC
, NULL
, 0,
10577 "SEQUENCE_OF_ElementInfo", HFILL
}},
10578 { &hf_z3950_recordStructure_item
,
10579 { "ElementInfo", "z3950.ElementInfo_element",
10580 FT_NONE
, BASE_NONE
, NULL
, 0,
10582 { &hf_z3950_elementName
,
10583 { "elementName", "z3950.elementName",
10584 FT_STRING
, BASE_NONE
, NULL
, 0,
10585 "InternationalString", HFILL
}},
10586 { &hf_z3950_elementTagPath
,
10587 { "elementTagPath", "z3950.elementTagPath",
10588 FT_UINT32
, BASE_DEC
, NULL
, 0,
10590 { &hf_z3950_elementInfo_dataType
,
10591 { "dataType", "z3950.dataType",
10592 FT_UINT32
, BASE_DEC
, VALS(z3950_ElementDataType_vals
), 0,
10593 "ElementDataType", HFILL
}},
10594 { &hf_z3950_required
,
10595 { "required", "z3950.required",
10596 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10597 "BOOLEAN", HFILL
}},
10598 { &hf_z3950_repeatable
,
10599 { "repeatable", "z3950.repeatable",
10600 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10601 "BOOLEAN", HFILL
}},
10602 { &hf_z3950_Path_item
,
10603 { "Path item", "z3950.Path_item_element",
10604 FT_NONE
, BASE_NONE
, NULL
, 0,
10606 { &hf_z3950_tagValue
,
10607 { "tagValue", "z3950.tagValue",
10608 FT_UINT32
, BASE_DEC
, VALS(z3950_StringOrNumeric_vals
), 0,
10609 "StringOrNumeric", HFILL
}},
10610 { &hf_z3950_primitive
,
10611 { "primitive", "z3950.primitive",
10612 FT_INT32
, BASE_DEC
, VALS(z3950_PrimitiveDataType_vals
), 0,
10613 "PrimitiveDataType", HFILL
}},
10614 { &hf_z3950_structured
,
10615 { "structured", "z3950.structured",
10616 FT_UINT32
, BASE_DEC
, NULL
, 0,
10617 "SEQUENCE_OF_ElementInfo", HFILL
}},
10618 { &hf_z3950_structured_item
,
10619 { "ElementInfo", "z3950.ElementInfo_element",
10620 FT_NONE
, BASE_NONE
, NULL
, 0,
10622 { &hf_z3950_tagSetInfo_elements
,
10623 { "elements", "z3950.elements",
10624 FT_UINT32
, BASE_DEC
, NULL
, 0,
10625 "T_tagSetInfo_elements", HFILL
}},
10626 { &hf_z3950_tagSetInfo_elements_item
,
10627 { "elements item", "z3950.elements_item_element",
10628 FT_NONE
, BASE_NONE
, NULL
, 0,
10629 "T_tagSetInfo_elements_item", HFILL
}},
10630 { &hf_z3950_elementname
,
10631 { "elementname", "z3950.elementname",
10632 FT_STRING
, BASE_NONE
, NULL
, 0,
10633 "InternationalString", HFILL
}},
10634 { &hf_z3950_elementTag
,
10635 { "elementTag", "z3950.elementTag",
10636 FT_UINT32
, BASE_DEC
, VALS(z3950_StringOrNumeric_vals
), 0,
10637 "StringOrNumeric", HFILL
}},
10638 { &hf_z3950_dataType
,
10639 { "dataType", "z3950.dataType",
10640 FT_INT32
, BASE_DEC
, VALS(z3950_PrimitiveDataType_vals
), 0,
10641 "PrimitiveDataType", HFILL
}},
10642 { &hf_z3950_otherTagInfo
,
10643 { "otherTagInfo", "z3950.otherTagInfo",
10644 FT_UINT32
, BASE_DEC
, NULL
, 0,
10645 "OtherInformation", HFILL
}},
10646 { &hf_z3950_recordSyntax
,
10647 { "recordSyntax", "z3950.recordSyntax",
10648 FT_OID
, BASE_NONE
, NULL
, 0,
10649 "OBJECT_IDENTIFIER", HFILL
}},
10650 { &hf_z3950_transferSyntaxes
,
10651 { "transferSyntaxes", "z3950.transferSyntaxes",
10652 FT_UINT32
, BASE_DEC
, NULL
, 0,
10654 { &hf_z3950_transferSyntaxes_item
,
10655 { "transferSyntaxes item", "z3950.transferSyntaxes_item",
10656 FT_OID
, BASE_NONE
, NULL
, 0,
10657 "OBJECT_IDENTIFIER", HFILL
}},
10658 { &hf_z3950_asn1Module
,
10659 { "asn1Module", "z3950.asn1Module",
10660 FT_STRING
, BASE_NONE
, NULL
, 0,
10661 "InternationalString", HFILL
}},
10662 { &hf_z3950_abstractStructure
,
10663 { "abstractStructure", "z3950.abstractStructure",
10664 FT_UINT32
, BASE_DEC
, NULL
, 0,
10665 "SEQUENCE_OF_ElementInfo", HFILL
}},
10666 { &hf_z3950_abstractStructure_item
,
10667 { "ElementInfo", "z3950.ElementInfo_element",
10668 FT_NONE
, BASE_NONE
, NULL
, 0,
10670 { &hf_z3950_attributeSetInfo_attributes
,
10671 { "attributes", "z3950.attributes",
10672 FT_UINT32
, BASE_DEC
, NULL
, 0,
10673 "SEQUENCE_OF_AttributeType", HFILL
}},
10674 { &hf_z3950_attributeSetInfo_attributes_item
,
10675 { "AttributeType", "z3950.AttributeType_element",
10676 FT_NONE
, BASE_NONE
, NULL
, 0,
10678 { &hf_z3950_attributeType
,
10679 { "attributeType", "z3950.attributeType",
10680 FT_INT32
, BASE_DEC
, NULL
, 0,
10681 "INTEGER", HFILL
}},
10682 { &hf_z3950_attributeValues
,
10683 { "attributeValues", "z3950.attributeValues",
10684 FT_UINT32
, BASE_DEC
, NULL
, 0,
10685 "SEQUENCE_OF_AttributeDescription", HFILL
}},
10686 { &hf_z3950_attributeValues_item
,
10687 { "AttributeDescription", "z3950.AttributeDescription_element",
10688 FT_NONE
, BASE_NONE
, NULL
, 0,
10690 { &hf_z3950_attributeDescription_attributeValue
,
10691 { "attributeValue", "z3950.attributeValue",
10692 FT_UINT32
, BASE_DEC
, VALS(z3950_StringOrNumeric_vals
), 0,
10693 "StringOrNumeric", HFILL
}},
10694 { &hf_z3950_equivalentAttributes
,
10695 { "equivalentAttributes", "z3950.equivalentAttributes",
10696 FT_UINT32
, BASE_DEC
, NULL
, 0,
10697 "SEQUENCE_OF_StringOrNumeric", HFILL
}},
10698 { &hf_z3950_equivalentAttributes_item
,
10699 { "StringOrNumeric", "z3950.StringOrNumeric",
10700 FT_UINT32
, BASE_DEC
, VALS(z3950_StringOrNumeric_vals
), 0,
10702 { &hf_z3950_termLists
,
10703 { "termLists", "z3950.termLists",
10704 FT_UINT32
, BASE_DEC
, NULL
, 0,
10706 { &hf_z3950_termLists_item
,
10707 { "termLists item", "z3950.termLists_item_element",
10708 FT_NONE
, BASE_NONE
, NULL
, 0,
10711 { "title", "z3950.title",
10712 FT_UINT32
, BASE_DEC
, NULL
, 0,
10713 "HumanString", HFILL
}},
10714 { &hf_z3950_searchCost
,
10715 { "searchCost", "z3950.searchCost",
10716 FT_INT32
, BASE_DEC
, VALS(z3950_T_searchCost_vals
), 0,
10718 { &hf_z3950_scanable
,
10719 { "scanable", "z3950.scanable",
10720 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10721 "BOOLEAN", HFILL
}},
10722 { &hf_z3950_broader
,
10723 { "broader", "z3950.broader",
10724 FT_UINT32
, BASE_DEC
, NULL
, 0,
10725 "SEQUENCE_OF_InternationalString", HFILL
}},
10726 { &hf_z3950_broader_item
,
10727 { "InternationalString", "z3950.InternationalString",
10728 FT_STRING
, BASE_NONE
, NULL
, 0,
10730 { &hf_z3950_narrower
,
10731 { "narrower", "z3950.narrower",
10732 FT_UINT32
, BASE_DEC
, NULL
, 0,
10733 "SEQUENCE_OF_InternationalString", HFILL
}},
10734 { &hf_z3950_narrower_item
,
10735 { "InternationalString", "z3950.InternationalString",
10736 FT_STRING
, BASE_NONE
, NULL
, 0,
10738 { &hf_z3950_extendedServicesInfo_type
,
10739 { "type", "z3950.type",
10740 FT_OID
, BASE_NONE
, NULL
, 0,
10741 "OBJECT_IDENTIFIER", HFILL
}},
10742 { &hf_z3950_privateType
,
10743 { "privateType", "z3950.privateType",
10744 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10745 "BOOLEAN", HFILL
}},
10746 { &hf_z3950_restrictionsApply
,
10747 { "restrictionsApply", "z3950.restrictionsApply",
10748 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10749 "BOOLEAN", HFILL
}},
10750 { &hf_z3950_feeApply
,
10751 { "feeApply", "z3950.feeApply",
10752 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10753 "BOOLEAN", HFILL
}},
10754 { &hf_z3950_retentionSupported
,
10755 { "retentionSupported", "z3950.retentionSupported",
10756 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10757 "BOOLEAN", HFILL
}},
10758 { &hf_z3950_extendedServicesInfo_waitAction
,
10759 { "waitAction", "z3950.waitAction",
10760 FT_INT32
, BASE_DEC
, VALS(z3950_T_extendedServicesInfo_waitAction_vals
), 0,
10761 "T_extendedServicesInfo_waitAction", HFILL
}},
10762 { &hf_z3950_specificExplain
,
10763 { "specificExplain", "z3950.specificExplain_element",
10764 FT_NONE
, BASE_NONE
, NULL
, 0,
10765 "EXTERNAL", HFILL
}},
10767 { "esASN", "z3950.esASN",
10768 FT_STRING
, BASE_NONE
, NULL
, 0,
10769 "InternationalString", HFILL
}},
10770 { &hf_z3950_attributesBySet
,
10771 { "attributesBySet", "z3950.attributesBySet",
10772 FT_UINT32
, BASE_DEC
, NULL
, 0,
10773 "SEQUENCE_OF_AttributeSetDetails", HFILL
}},
10774 { &hf_z3950_attributesBySet_item
,
10775 { "AttributeSetDetails", "z3950.AttributeSetDetails_element",
10776 FT_NONE
, BASE_NONE
, NULL
, 0,
10778 { &hf_z3950_attributeCombinations
,
10779 { "attributeCombinations", "z3950.attributeCombinations_element",
10780 FT_NONE
, BASE_NONE
, NULL
, 0,
10782 { &hf_z3950_attributesByType
,
10783 { "attributesByType", "z3950.attributesByType",
10784 FT_UINT32
, BASE_DEC
, NULL
, 0,
10785 "SEQUENCE_OF_AttributeTypeDetails", HFILL
}},
10786 { &hf_z3950_attributesByType_item
,
10787 { "AttributeTypeDetails", "z3950.AttributeTypeDetails_element",
10788 FT_NONE
, BASE_NONE
, NULL
, 0,
10790 { &hf_z3950_defaultIfOmitted
,
10791 { "defaultIfOmitted", "z3950.defaultIfOmitted_element",
10792 FT_NONE
, BASE_NONE
, NULL
, 0,
10793 "OmittedAttributeInterpretation", HFILL
}},
10794 { &hf_z3950_attributeTypeDetails_attributeValues
,
10795 { "attributeValues", "z3950.attributeValues",
10796 FT_UINT32
, BASE_DEC
, NULL
, 0,
10797 "SEQUENCE_OF_AttributeValue", HFILL
}},
10798 { &hf_z3950_attributeTypeDetails_attributeValues_item
,
10799 { "AttributeValue", "z3950.AttributeValue_element",
10800 FT_NONE
, BASE_NONE
, NULL
, 0,
10802 { &hf_z3950_defaultValue
,
10803 { "defaultValue", "z3950.defaultValue",
10804 FT_UINT32
, BASE_DEC
, VALS(z3950_StringOrNumeric_vals
), 0,
10805 "StringOrNumeric", HFILL
}},
10806 { &hf_z3950_defaultDescription
,
10807 { "defaultDescription", "z3950.defaultDescription",
10808 FT_UINT32
, BASE_DEC
, NULL
, 0,
10809 "HumanString", HFILL
}},
10810 { &hf_z3950_attributeValue_value
,
10811 { "value", "z3950.value",
10812 FT_UINT32
, BASE_DEC
, VALS(z3950_StringOrNumeric_vals
), 0,
10813 "StringOrNumeric", HFILL
}},
10814 { &hf_z3950_subAttributes
,
10815 { "subAttributes", "z3950.subAttributes",
10816 FT_UINT32
, BASE_DEC
, NULL
, 0,
10817 "SEQUENCE_OF_StringOrNumeric", HFILL
}},
10818 { &hf_z3950_subAttributes_item
,
10819 { "StringOrNumeric", "z3950.StringOrNumeric",
10820 FT_UINT32
, BASE_DEC
, VALS(z3950_StringOrNumeric_vals
), 0,
10822 { &hf_z3950_superAttributes
,
10823 { "superAttributes", "z3950.superAttributes",
10824 FT_UINT32
, BASE_DEC
, NULL
, 0,
10825 "SEQUENCE_OF_StringOrNumeric", HFILL
}},
10826 { &hf_z3950_superAttributes_item
,
10827 { "StringOrNumeric", "z3950.StringOrNumeric",
10828 FT_UINT32
, BASE_DEC
, VALS(z3950_StringOrNumeric_vals
), 0,
10830 { &hf_z3950_partialSupport
,
10831 { "partialSupport", "z3950.partialSupport_element",
10832 FT_NONE
, BASE_NONE
, NULL
, 0,
10834 { &hf_z3950_termListName
,
10835 { "termListName", "z3950.termListName",
10836 FT_STRING
, BASE_NONE
, NULL
, 0,
10837 "InternationalString", HFILL
}},
10838 { &hf_z3950_termListDetails_attributes
,
10839 { "attributes", "z3950.attributes_element",
10840 FT_NONE
, BASE_NONE
, NULL
, 0,
10841 "AttributeCombinations", HFILL
}},
10842 { &hf_z3950_scanInfo
,
10843 { "scanInfo", "z3950.scanInfo_element",
10844 FT_NONE
, BASE_NONE
, NULL
, 0,
10846 { &hf_z3950_maxStepSize
,
10847 { "maxStepSize", "z3950.maxStepSize",
10848 FT_INT32
, BASE_DEC
, NULL
, 0,
10849 "INTEGER", HFILL
}},
10850 { &hf_z3950_collatingSequence
,
10851 { "collatingSequence", "z3950.collatingSequence",
10852 FT_UINT32
, BASE_DEC
, NULL
, 0,
10853 "HumanString", HFILL
}},
10854 { &hf_z3950_increasing
,
10855 { "increasing", "z3950.increasing",
10856 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10857 "BOOLEAN", HFILL
}},
10858 { &hf_z3950_estNumberTerms
,
10859 { "estNumberTerms", "z3950.estNumberTerms",
10860 FT_INT32
, BASE_DEC
, NULL
, 0,
10861 "INTEGER", HFILL
}},
10862 { &hf_z3950_sampleTerms
,
10863 { "sampleTerms", "z3950.sampleTerms",
10864 FT_UINT32
, BASE_DEC
, NULL
, 0,
10865 "SEQUENCE_OF_Term", HFILL
}},
10866 { &hf_z3950_sampleTerms_item
,
10867 { "Term", "z3950.Term",
10868 FT_UINT32
, BASE_DEC
, VALS(z3950_Term_vals
), 0,
10870 { &hf_z3950_elementSetDetails_elementSetName
,
10871 { "elementSetName", "z3950.elementSetName",
10872 FT_STRING
, BASE_NONE
, NULL
, 0,
10874 { &hf_z3950_detailsPerElement
,
10875 { "detailsPerElement", "z3950.detailsPerElement",
10876 FT_UINT32
, BASE_DEC
, NULL
, 0,
10877 "SEQUENCE_OF_PerElementDetails", HFILL
}},
10878 { &hf_z3950_detailsPerElement_item
,
10879 { "PerElementDetails", "z3950.PerElementDetails_element",
10880 FT_NONE
, BASE_NONE
, NULL
, 0,
10882 { &hf_z3950_recordTag
,
10883 { "recordTag", "z3950.recordTag_element",
10884 FT_NONE
, BASE_NONE
, NULL
, 0,
10886 { &hf_z3950_schemaTags
,
10887 { "schemaTags", "z3950.schemaTags",
10888 FT_UINT32
, BASE_DEC
, NULL
, 0,
10889 "SEQUENCE_OF_Path", HFILL
}},
10890 { &hf_z3950_schemaTags_item
,
10891 { "Path", "z3950.Path",
10892 FT_UINT32
, BASE_DEC
, NULL
, 0,
10894 { &hf_z3950_maxSize
,
10895 { "maxSize", "z3950.maxSize",
10896 FT_INT32
, BASE_DEC
, NULL
, 0,
10897 "INTEGER", HFILL
}},
10898 { &hf_z3950_minSize
,
10899 { "minSize", "z3950.minSize",
10900 FT_INT32
, BASE_DEC
, NULL
, 0,
10901 "INTEGER", HFILL
}},
10902 { &hf_z3950_avgSize
,
10903 { "avgSize", "z3950.avgSize",
10904 FT_INT32
, BASE_DEC
, NULL
, 0,
10905 "INTEGER", HFILL
}},
10906 { &hf_z3950_fixedSize
,
10907 { "fixedSize", "z3950.fixedSize",
10908 FT_INT32
, BASE_DEC
, NULL
, 0,
10909 "INTEGER", HFILL
}},
10910 { &hf_z3950_contents
,
10911 { "contents", "z3950.contents",
10912 FT_UINT32
, BASE_DEC
, NULL
, 0,
10913 "HumanString", HFILL
}},
10914 { &hf_z3950_billingInfo
,
10915 { "billingInfo", "z3950.billingInfo",
10916 FT_UINT32
, BASE_DEC
, NULL
, 0,
10917 "HumanString", HFILL
}},
10918 { &hf_z3950_restrictions
,
10919 { "restrictions", "z3950.restrictions",
10920 FT_UINT32
, BASE_DEC
, NULL
, 0,
10921 "HumanString", HFILL
}},
10922 { &hf_z3950_alternateNames
,
10923 { "alternateNames", "z3950.alternateNames",
10924 FT_UINT32
, BASE_DEC
, NULL
, 0,
10925 "SEQUENCE_OF_InternationalString", HFILL
}},
10926 { &hf_z3950_alternateNames_item
,
10927 { "InternationalString", "z3950.InternationalString",
10928 FT_STRING
, BASE_NONE
, NULL
, 0,
10930 { &hf_z3950_genericNames
,
10931 { "genericNames", "z3950.genericNames",
10932 FT_UINT32
, BASE_DEC
, NULL
, 0,
10933 "SEQUENCE_OF_InternationalString", HFILL
}},
10934 { &hf_z3950_genericNames_item
,
10935 { "InternationalString", "z3950.InternationalString",
10936 FT_STRING
, BASE_NONE
, NULL
, 0,
10938 { &hf_z3950_searchAccess
,
10939 { "searchAccess", "z3950.searchAccess_element",
10940 FT_NONE
, BASE_NONE
, NULL
, 0,
10941 "AttributeCombinations", HFILL
}},
10942 { &hf_z3950_qualifier
,
10943 { "qualifier", "z3950.qualifier",
10944 FT_UINT32
, BASE_DEC
, VALS(z3950_StringOrNumeric_vals
), 0,
10945 "StringOrNumeric", HFILL
}},
10946 { &hf_z3950_sortKeys
,
10947 { "sortKeys", "z3950.sortKeys",
10948 FT_UINT32
, BASE_DEC
, NULL
, 0,
10949 "SEQUENCE_OF_SortKeyDetails", HFILL
}},
10950 { &hf_z3950_sortKeys_item
,
10951 { "SortKeyDetails", "z3950.SortKeyDetails_element",
10952 FT_NONE
, BASE_NONE
, NULL
, 0,
10954 { &hf_z3950_elementSpecifications
,
10955 { "elementSpecifications", "z3950.elementSpecifications",
10956 FT_UINT32
, BASE_DEC
, NULL
, 0,
10957 "SEQUENCE_OF_Specification", HFILL
}},
10958 { &hf_z3950_elementSpecifications_item
,
10959 { "Specification", "z3950.Specification_element",
10960 FT_NONE
, BASE_NONE
, NULL
, 0,
10962 { &hf_z3950_attributeSpecifications
,
10963 { "attributeSpecifications", "z3950.attributeSpecifications_element",
10964 FT_NONE
, BASE_NONE
, NULL
, 0,
10965 "AttributeCombinations", HFILL
}},
10966 { &hf_z3950_sortType
,
10967 { "sortType", "z3950.sortType",
10968 FT_UINT32
, BASE_DEC
, VALS(z3950_T_sortType_vals
), 0,
10970 { &hf_z3950_character
,
10971 { "character", "z3950.character_element",
10972 FT_NONE
, BASE_NONE
, NULL
, 0,
10974 { &hf_z3950_sortKeyDetails_sortType_numeric
,
10975 { "numeric", "z3950.numeric_element",
10976 FT_NONE
, BASE_NONE
, NULL
, 0,
10978 { &hf_z3950_sortKeyDetails_sortType_structured
,
10979 { "structured", "z3950.structured",
10980 FT_UINT32
, BASE_DEC
, NULL
, 0,
10981 "HumanString", HFILL
}},
10982 { &hf_z3950_sortKeyDetails_caseSensitivity
,
10983 { "caseSensitivity", "z3950.caseSensitivity",
10984 FT_INT32
, BASE_DEC
, VALS(z3950_T_sortKeyDetails_caseSensitivity_vals
), 0,
10985 "T_sortKeyDetails_caseSensitivity", HFILL
}},
10986 { &hf_z3950_processingContext
,
10987 { "processingContext", "z3950.processingContext",
10988 FT_INT32
, BASE_DEC
, VALS(z3950_T_processingContext_vals
), 0,
10990 { &hf_z3950_instructions
,
10991 { "instructions", "z3950.instructions_element",
10992 FT_NONE
, BASE_NONE
, NULL
, 0,
10993 "EXTERNAL", HFILL
}},
10994 { &hf_z3950_variantSet
,
10995 { "variantSet", "z3950.variantSet",
10996 FT_OID
, BASE_NONE
, NULL
, 0,
10997 "OBJECT_IDENTIFIER", HFILL
}},
10998 { &hf_z3950_variantSetInfo_variants
,
10999 { "variants", "z3950.variants",
11000 FT_UINT32
, BASE_DEC
, NULL
, 0,
11001 "SEQUENCE_OF_VariantClass", HFILL
}},
11002 { &hf_z3950_variantSetInfo_variants_item
,
11003 { "VariantClass", "z3950.VariantClass_element",
11004 FT_NONE
, BASE_NONE
, NULL
, 0,
11006 { &hf_z3950_variantClass
,
11007 { "variantClass", "z3950.variantClass",
11008 FT_INT32
, BASE_DEC
, NULL
, 0,
11009 "INTEGER", HFILL
}},
11010 { &hf_z3950_variantTypes
,
11011 { "variantTypes", "z3950.variantTypes",
11012 FT_UINT32
, BASE_DEC
, NULL
, 0,
11013 "SEQUENCE_OF_VariantType", HFILL
}},
11014 { &hf_z3950_variantTypes_item
,
11015 { "VariantType", "z3950.VariantType_element",
11016 FT_NONE
, BASE_NONE
, NULL
, 0,
11018 { &hf_z3950_variantType
,
11019 { "variantType", "z3950.variantType",
11020 FT_INT32
, BASE_DEC
, NULL
, 0,
11021 "INTEGER", HFILL
}},
11022 { &hf_z3950_variantValue
,
11023 { "variantValue", "z3950.variantValue_element",
11024 FT_NONE
, BASE_NONE
, NULL
, 0,
11026 { &hf_z3950_values
,
11027 { "values", "z3950.values",
11028 FT_UINT32
, BASE_DEC
, VALS(z3950_ValueSet_vals
), 0,
11029 "ValueSet", HFILL
}},
11031 { "range", "z3950.range_element",
11032 FT_NONE
, BASE_NONE
, NULL
, 0,
11033 "ValueRange", HFILL
}},
11034 { &hf_z3950_enumerated
,
11035 { "enumerated", "z3950.enumerated",
11036 FT_UINT32
, BASE_DEC
, NULL
, 0,
11037 "SEQUENCE_OF_ValueDescription", HFILL
}},
11038 { &hf_z3950_enumerated_item
,
11039 { "ValueDescription", "z3950.ValueDescription",
11040 FT_UINT32
, BASE_DEC
, VALS(z3950_ValueDescription_vals
), 0,
11043 { "lower", "z3950.lower",
11044 FT_UINT32
, BASE_DEC
, VALS(z3950_ValueDescription_vals
), 0,
11045 "ValueDescription", HFILL
}},
11047 { "upper", "z3950.upper",
11048 FT_UINT32
, BASE_DEC
, VALS(z3950_ValueDescription_vals
), 0,
11049 "ValueDescription", HFILL
}},
11050 { &hf_z3950_integer
,
11051 { "integer", "z3950.integer",
11052 FT_INT32
, BASE_DEC
, NULL
, 0,
11054 { &hf_z3950_octets
,
11055 { "octets", "z3950.octets",
11056 FT_BYTES
, BASE_NONE
, NULL
, 0,
11057 "OCTET_STRING", HFILL
}},
11058 { &hf_z3950_valueDescription_unit
,
11059 { "unit", "z3950.unit_element",
11060 FT_NONE
, BASE_NONE
, NULL
, 0,
11062 { &hf_z3950_valueAndUnit
,
11063 { "valueAndUnit", "z3950.valueAndUnit_element",
11064 FT_NONE
, BASE_NONE
, NULL
, 0,
11065 "IntUnit", HFILL
}},
11066 { &hf_z3950_unitInfo_units
,
11067 { "units", "z3950.units",
11068 FT_UINT32
, BASE_DEC
, NULL
, 0,
11069 "SEQUENCE_OF_UnitType", HFILL
}},
11070 { &hf_z3950_unitInfo_units_item
,
11071 { "UnitType", "z3950.UnitType_element",
11072 FT_NONE
, BASE_NONE
, NULL
, 0,
11074 { &hf_z3950_unitType_units
,
11075 { "units", "z3950.units",
11076 FT_UINT32
, BASE_DEC
, NULL
, 0,
11077 "SEQUENCE_OF_Units", HFILL
}},
11078 { &hf_z3950_unitType_units_item
,
11079 { "Units", "z3950.Units_element",
11080 FT_NONE
, BASE_NONE
, NULL
, 0,
11082 { &hf_z3950_categories
,
11083 { "categories", "z3950.categories",
11084 FT_UINT32
, BASE_DEC
, NULL
, 0,
11085 "SEQUENCE_OF_CategoryInfo", HFILL
}},
11086 { &hf_z3950_categories_item
,
11087 { "CategoryInfo", "z3950.CategoryInfo_element",
11088 FT_NONE
, BASE_NONE
, NULL
, 0,
11090 { &hf_z3950_categoryInfo_category
,
11091 { "category", "z3950.category",
11092 FT_STRING
, BASE_NONE
, NULL
, 0,
11093 "InternationalString", HFILL
}},
11094 { &hf_z3950_originalCategory
,
11095 { "originalCategory", "z3950.originalCategory",
11096 FT_STRING
, BASE_NONE
, NULL
, 0,
11097 "InternationalString", HFILL
}},
11098 { &hf_z3950_dateAdded
,
11099 { "dateAdded", "z3950.dateAdded",
11100 FT_ABSOLUTE_TIME
, ABSOLUTE_TIME_LOCAL
, NULL
, 0,
11101 "GeneralizedTime", HFILL
}},
11102 { &hf_z3950_dateChanged
,
11103 { "dateChanged", "z3950.dateChanged",
11104 FT_ABSOLUTE_TIME
, ABSOLUTE_TIME_LOCAL
, NULL
, 0,
11105 "GeneralizedTime", HFILL
}},
11106 { &hf_z3950_expiry
,
11107 { "expiry", "z3950.expiry",
11108 FT_ABSOLUTE_TIME
, ABSOLUTE_TIME_LOCAL
, NULL
, 0,
11109 "GeneralizedTime", HFILL
}},
11110 { &hf_z3950_humanString_Language
,
11111 { "humanString-Language", "z3950.humanString_Language",
11112 FT_STRING
, BASE_NONE
, NULL
, 0,
11113 "LanguageCode", HFILL
}},
11114 { &hf_z3950_HumanString_item
,
11115 { "HumanString item", "z3950.HumanString_item_element",
11116 FT_NONE
, BASE_NONE
, NULL
, 0,
11118 { &hf_z3950_language
,
11119 { "language", "z3950.language",
11120 FT_STRING
, BASE_NONE
, NULL
, 0,
11121 "LanguageCode", HFILL
}},
11123 { "text", "z3950.text",
11124 FT_STRING
, BASE_NONE
, NULL
, 0,
11125 "InternationalString", HFILL
}},
11126 { &hf_z3950_IconObject_item
,
11127 { "IconObject item", "z3950.IconObject_item_element",
11128 FT_NONE
, BASE_NONE
, NULL
, 0,
11130 { &hf_z3950_bodyType
,
11131 { "bodyType", "z3950.bodyType",
11132 FT_UINT32
, BASE_DEC
, VALS(z3950_T_bodyType_vals
), 0,
11134 { &hf_z3950_ianaType
,
11135 { "ianaType", "z3950.ianaType",
11136 FT_STRING
, BASE_NONE
, NULL
, 0,
11137 "InternationalString", HFILL
}},
11138 { &hf_z3950_z3950type
,
11139 { "z3950type", "z3950.z3950type",
11140 FT_STRING
, BASE_NONE
, NULL
, 0,
11141 "InternationalString", HFILL
}},
11142 { &hf_z3950_otherType
,
11143 { "otherType", "z3950.otherType",
11144 FT_STRING
, BASE_NONE
, NULL
, 0,
11145 "InternationalString", HFILL
}},
11146 { &hf_z3950_content
,
11147 { "content", "z3950.content",
11148 FT_BYTES
, BASE_NONE
, NULL
, 0,
11149 "OCTET_STRING", HFILL
}},
11150 { &hf_z3950_address
,
11151 { "address", "z3950.address",
11152 FT_UINT32
, BASE_DEC
, NULL
, 0,
11153 "HumanString", HFILL
}},
11155 { "email", "z3950.email",
11156 FT_STRING
, BASE_NONE
, NULL
, 0,
11157 "InternationalString", HFILL
}},
11159 { "phone", "z3950.phone",
11160 FT_STRING
, BASE_NONE
, NULL
, 0,
11161 "InternationalString", HFILL
}},
11162 { &hf_z3950_internetAddress
,
11163 { "internetAddress", "z3950.internetAddress_element",
11164 FT_NONE
, BASE_NONE
, NULL
, 0,
11166 { &hf_z3950_hostAddress
,
11167 { "hostAddress", "z3950.hostAddress",
11168 FT_STRING
, BASE_NONE
, NULL
, 0,
11169 "InternationalString", HFILL
}},
11171 { "port", "z3950.port",
11172 FT_INT32
, BASE_DEC
, NULL
, 0,
11173 "INTEGER", HFILL
}},
11174 { &hf_z3950_osiPresentationAddress
,
11175 { "osiPresentationAddress", "z3950.osiPresentationAddress_element",
11176 FT_NONE
, BASE_NONE
, NULL
, 0,
11179 { "pSel", "z3950.pSel",
11180 FT_STRING
, BASE_NONE
, NULL
, 0,
11181 "InternationalString", HFILL
}},
11183 { "sSel", "z3950.sSel",
11184 FT_STRING
, BASE_NONE
, NULL
, 0,
11185 "InternationalString", HFILL
}},
11187 { "tSel", "z3950.tSel",
11188 FT_STRING
, BASE_NONE
, NULL
, 0,
11189 "InternationalString", HFILL
}},
11191 { "nSap", "z3950.nSap",
11192 FT_STRING
, BASE_NONE
, NULL
, 0,
11193 "InternationalString", HFILL
}},
11194 { &hf_z3950_networkAddress_other
,
11195 { "other", "z3950.other_element",
11196 FT_NONE
, BASE_NONE
, NULL
, 0,
11197 "T_networkAddress_other", HFILL
}},
11198 { &hf_z3950_networkAddress_other_type
,
11199 { "type", "z3950.type",
11200 FT_STRING
, BASE_NONE
, NULL
, 0,
11201 "InternationalString", HFILL
}},
11202 { &hf_z3950_networkAddress_other_address
,
11203 { "address", "z3950.address",
11204 FT_STRING
, BASE_NONE
, NULL
, 0,
11205 "InternationalString", HFILL
}},
11206 { &hf_z3950_queryTypesSupported
,
11207 { "queryTypesSupported", "z3950.queryTypesSupported",
11208 FT_UINT32
, BASE_DEC
, NULL
, 0,
11209 "SEQUENCE_OF_QueryTypeDetails", HFILL
}},
11210 { &hf_z3950_queryTypesSupported_item
,
11211 { "QueryTypeDetails", "z3950.QueryTypeDetails",
11212 FT_UINT32
, BASE_DEC
, VALS(z3950_QueryTypeDetails_vals
), 0,
11214 { &hf_z3950_diagnosticsSets
,
11215 { "diagnosticsSets", "z3950.diagnosticsSets",
11216 FT_UINT32
, BASE_DEC
, NULL
, 0,
11218 { &hf_z3950_diagnosticsSets_item
,
11219 { "diagnosticsSets item", "z3950.diagnosticsSets_item",
11220 FT_OID
, BASE_NONE
, NULL
, 0,
11221 "OBJECT_IDENTIFIER", HFILL
}},
11222 { &hf_z3950_attributeSetIds
,
11223 { "attributeSetIds", "z3950.attributeSetIds",
11224 FT_UINT32
, BASE_DEC
, NULL
, 0,
11225 "SEQUENCE_OF_AttributeSetId", HFILL
}},
11226 { &hf_z3950_attributeSetIds_item
,
11227 { "AttributeSetId", "z3950.AttributeSetId",
11228 FT_OID
, BASE_NONE
, NULL
, 0,
11230 { &hf_z3950_schemas
,
11231 { "schemas", "z3950.schemas",
11232 FT_UINT32
, BASE_DEC
, NULL
, 0,
11234 { &hf_z3950_schemas_item
,
11235 { "schemas item", "z3950.schemas_item",
11236 FT_OID
, BASE_NONE
, NULL
, 0,
11237 "OBJECT_IDENTIFIER", HFILL
}},
11238 { &hf_z3950_recordSyntaxes
,
11239 { "recordSyntaxes", "z3950.recordSyntaxes",
11240 FT_UINT32
, BASE_DEC
, NULL
, 0,
11242 { &hf_z3950_recordSyntaxes_item
,
11243 { "recordSyntaxes item", "z3950.recordSyntaxes_item",
11244 FT_OID
, BASE_NONE
, NULL
, 0,
11245 "OBJECT_IDENTIFIER", HFILL
}},
11246 { &hf_z3950_resourceChallenges
,
11247 { "resourceChallenges", "z3950.resourceChallenges",
11248 FT_UINT32
, BASE_DEC
, NULL
, 0,
11250 { &hf_z3950_resourceChallenges_item
,
11251 { "resourceChallenges item", "z3950.resourceChallenges_item",
11252 FT_OID
, BASE_NONE
, NULL
, 0,
11253 "OBJECT_IDENTIFIER", HFILL
}},
11254 { &hf_z3950_restrictedAccess
,
11255 { "restrictedAccess", "z3950.restrictedAccess",
11256 FT_UINT32
, BASE_DEC
, NULL
, 0,
11257 "AccessRestrictions", HFILL
}},
11258 { &hf_z3950_costInfo
,
11259 { "costInfo", "z3950.costInfo_element",
11260 FT_NONE
, BASE_NONE
, NULL
, 0,
11262 { &hf_z3950_variantSets
,
11263 { "variantSets", "z3950.variantSets",
11264 FT_UINT32
, BASE_DEC
, NULL
, 0,
11266 { &hf_z3950_variantSets_item
,
11267 { "variantSets item", "z3950.variantSets_item",
11268 FT_OID
, BASE_NONE
, NULL
, 0,
11269 "OBJECT_IDENTIFIER", HFILL
}},
11270 { &hf_z3950_elementSetNames
,
11271 { "elementSetNames", "z3950.elementSetNames",
11272 FT_UINT32
, BASE_DEC
, NULL
, 0,
11273 "SEQUENCE_OF_ElementSetName", HFILL
}},
11274 { &hf_z3950_elementSetNames_item
,
11275 { "ElementSetName", "z3950.ElementSetName",
11276 FT_STRING
, BASE_NONE
, NULL
, 0,
11278 { &hf_z3950_unitSystems
,
11279 { "unitSystems", "z3950.unitSystems",
11280 FT_UINT32
, BASE_DEC
, NULL
, 0,
11281 "SEQUENCE_OF_InternationalString", HFILL
}},
11282 { &hf_z3950_unitSystems_item
,
11283 { "InternationalString", "z3950.InternationalString",
11284 FT_STRING
, BASE_NONE
, NULL
, 0,
11286 { &hf_z3950_queryTypeDetails_private
,
11287 { "private", "z3950.private_element",
11288 FT_NONE
, BASE_NONE
, NULL
, 0,
11289 "PrivateCapabilities", HFILL
}},
11290 { &hf_z3950_queryTypeDetails_rpn
,
11291 { "rpn", "z3950.rpn_element",
11292 FT_NONE
, BASE_NONE
, NULL
, 0,
11293 "RpnCapabilities", HFILL
}},
11294 { &hf_z3950_iso8777
,
11295 { "iso8777", "z3950.iso8777_element",
11296 FT_NONE
, BASE_NONE
, NULL
, 0,
11297 "Iso8777Capabilities", HFILL
}},
11298 { &hf_z3950_z39_58
,
11299 { "z39-58", "z3950.z39_58",
11300 FT_UINT32
, BASE_DEC
, NULL
, 0,
11301 "HumanString", HFILL
}},
11303 { "erpn", "z3950.erpn_element",
11304 FT_NONE
, BASE_NONE
, NULL
, 0,
11305 "RpnCapabilities", HFILL
}},
11306 { &hf_z3950_rankedList
,
11307 { "rankedList", "z3950.rankedList",
11308 FT_UINT32
, BASE_DEC
, NULL
, 0,
11309 "HumanString", HFILL
}},
11310 { &hf_z3950_privateCapabilities_operators
,
11311 { "operators", "z3950.operators",
11312 FT_UINT32
, BASE_DEC
, NULL
, 0,
11313 "T_privateCapabilities_operators", HFILL
}},
11314 { &hf_z3950_privateCapabilities_operators_item
,
11315 { "operators item", "z3950.operators_item_element",
11316 FT_NONE
, BASE_NONE
, NULL
, 0,
11317 "T_privateCapabilities_operators_item", HFILL
}},
11318 { &hf_z3950_operator
,
11319 { "operator", "z3950.operator",
11320 FT_STRING
, BASE_NONE
, NULL
, 0,
11321 "InternationalString", HFILL
}},
11322 { &hf_z3950_searchKeys
,
11323 { "searchKeys", "z3950.searchKeys",
11324 FT_UINT32
, BASE_DEC
, NULL
, 0,
11325 "SEQUENCE_OF_SearchKey", HFILL
}},
11326 { &hf_z3950_searchKeys_item
,
11327 { "SearchKey", "z3950.SearchKey_element",
11328 FT_NONE
, BASE_NONE
, NULL
, 0,
11330 { &hf_z3950_privateCapabilities_description
,
11331 { "description", "z3950.description",
11332 FT_UINT32
, BASE_DEC
, NULL
, 0,
11333 "SEQUENCE_OF_HumanString", HFILL
}},
11334 { &hf_z3950_privateCapabilities_description_item
,
11335 { "HumanString", "z3950.HumanString",
11336 FT_UINT32
, BASE_DEC
, NULL
, 0,
11338 { &hf_z3950_operators
,
11339 { "operators", "z3950.operators",
11340 FT_UINT32
, BASE_DEC
, NULL
, 0,
11342 { &hf_z3950_operators_item
,
11343 { "operators item", "z3950.operators_item",
11344 FT_INT32
, BASE_DEC
, NULL
, 0,
11345 "INTEGER", HFILL
}},
11346 { &hf_z3950_resultSetAsOperandSupported
,
11347 { "resultSetAsOperandSupported", "z3950.resultSetAsOperandSupported",
11348 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
11349 "BOOLEAN", HFILL
}},
11350 { &hf_z3950_restrictionOperandSupported
,
11351 { "restrictionOperandSupported", "z3950.restrictionOperandSupported",
11352 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
11353 "BOOLEAN", HFILL
}},
11354 { &hf_z3950_proximity
,
11355 { "proximity", "z3950.proximity_element",
11356 FT_NONE
, BASE_NONE
, NULL
, 0,
11357 "ProximitySupport", HFILL
}},
11358 { &hf_z3950_anySupport
,
11359 { "anySupport", "z3950.anySupport",
11360 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
11361 "BOOLEAN", HFILL
}},
11362 { &hf_z3950_unitsSupported
,
11363 { "unitsSupported", "z3950.unitsSupported",
11364 FT_UINT32
, BASE_DEC
, NULL
, 0,
11366 { &hf_z3950_unitsSupported_item
,
11367 { "unitsSupported item", "z3950.unitsSupported_item",
11368 FT_UINT32
, BASE_DEC
, VALS(z3950_T_unitsSupported_item_vals
), 0,
11370 { &hf_z3950_proximitySupport_unitsSupported_item_known
,
11371 { "known", "z3950.known",
11372 FT_INT32
, BASE_DEC
, NULL
, 0,
11373 "INTEGER", HFILL
}},
11374 { &hf_z3950_proximitySupport_unitsSupported_item_private
,
11375 { "private", "z3950.private_element",
11376 FT_NONE
, BASE_NONE
, NULL
, 0,
11377 "T_proximitySupport_unitsSupported_item_private", HFILL
}},
11378 { &hf_z3950_proximitySupport_unitsSupported_item_private_unit
,
11379 { "unit", "z3950.unit",
11380 FT_INT32
, BASE_DEC
, NULL
, 0,
11381 "INTEGER", HFILL
}},
11382 { &hf_z3950_searchKey
,
11383 { "searchKey", "z3950.searchKey",
11384 FT_STRING
, BASE_NONE
, NULL
, 0,
11385 "InternationalString", HFILL
}},
11386 { &hf_z3950_AccessRestrictions_item
,
11387 { "AccessRestrictions item", "z3950.AccessRestrictions_item_element",
11388 FT_NONE
, BASE_NONE
, NULL
, 0,
11390 { &hf_z3950_accessType
,
11391 { "accessType", "z3950.accessType",
11392 FT_INT32
, BASE_DEC
, VALS(z3950_T_accessType_vals
), 0,
11394 { &hf_z3950_accessText
,
11395 { "accessText", "z3950.accessText",
11396 FT_UINT32
, BASE_DEC
, NULL
, 0,
11397 "HumanString", HFILL
}},
11398 { &hf_z3950_accessChallenges
,
11399 { "accessChallenges", "z3950.accessChallenges",
11400 FT_UINT32
, BASE_DEC
, NULL
, 0,
11402 { &hf_z3950_accessChallenges_item
,
11403 { "accessChallenges item", "z3950.accessChallenges_item",
11404 FT_OID
, BASE_NONE
, NULL
, 0,
11405 "OBJECT_IDENTIFIER", HFILL
}},
11406 { &hf_z3950_connectCharge
,
11407 { "connectCharge", "z3950.connectCharge_element",
11408 FT_NONE
, BASE_NONE
, NULL
, 0,
11409 "Charge", HFILL
}},
11410 { &hf_z3950_connectTime
,
11411 { "connectTime", "z3950.connectTime_element",
11412 FT_NONE
, BASE_NONE
, NULL
, 0,
11413 "Charge", HFILL
}},
11414 { &hf_z3950_displayCharge
,
11415 { "displayCharge", "z3950.displayCharge_element",
11416 FT_NONE
, BASE_NONE
, NULL
, 0,
11417 "Charge", HFILL
}},
11418 { &hf_z3950_searchCharge
,
11419 { "searchCharge", "z3950.searchCharge_element",
11420 FT_NONE
, BASE_NONE
, NULL
, 0,
11421 "Charge", HFILL
}},
11422 { &hf_z3950_subscriptCharge
,
11423 { "subscriptCharge", "z3950.subscriptCharge_element",
11424 FT_NONE
, BASE_NONE
, NULL
, 0,
11425 "Charge", HFILL
}},
11426 { &hf_z3950_otherCharges
,
11427 { "otherCharges", "z3950.otherCharges",
11428 FT_UINT32
, BASE_DEC
, NULL
, 0,
11430 { &hf_z3950_otherCharges_item
,
11431 { "otherCharges item", "z3950.otherCharges_item_element",
11432 FT_NONE
, BASE_NONE
, NULL
, 0,
11434 { &hf_z3950_forWhat
,
11435 { "forWhat", "z3950.forWhat",
11436 FT_UINT32
, BASE_DEC
, NULL
, 0,
11437 "HumanString", HFILL
}},
11438 { &hf_z3950_charge
,
11439 { "charge", "z3950.charge_element",
11440 FT_NONE
, BASE_NONE
, NULL
, 0,
11443 { "cost", "z3950.cost_element",
11444 FT_NONE
, BASE_NONE
, NULL
, 0,
11445 "IntUnit", HFILL
}},
11446 { &hf_z3950_perWhat
,
11447 { "perWhat", "z3950.perWhat_element",
11448 FT_NONE
, BASE_NONE
, NULL
, 0,
11450 { &hf_z3950_charge_text
,
11451 { "text", "z3950.text",
11452 FT_UINT32
, BASE_DEC
, NULL
, 0,
11453 "HumanString", HFILL
}},
11454 { &hf_z3950_DatabaseList_item
,
11455 { "DatabaseName", "z3950.DatabaseName",
11456 FT_STRING
, BASE_NONE
, NULL
, 0,
11458 { &hf_z3950_defaultAttributeSet
,
11459 { "defaultAttributeSet", "z3950.defaultAttributeSet",
11460 FT_OID
, BASE_NONE
, NULL
, 0,
11461 "AttributeSetId", HFILL
}},
11462 { &hf_z3950_legalCombinations
,
11463 { "legalCombinations", "z3950.legalCombinations",
11464 FT_UINT32
, BASE_DEC
, NULL
, 0,
11465 "SEQUENCE_OF_AttributeCombination", HFILL
}},
11466 { &hf_z3950_legalCombinations_item
,
11467 { "AttributeCombination", "z3950.AttributeCombination",
11468 FT_UINT32
, BASE_DEC
, NULL
, 0,
11470 { &hf_z3950_AttributeCombination_item
,
11471 { "AttributeOccurrence", "z3950.AttributeOccurrence_element",
11472 FT_NONE
, BASE_NONE
, NULL
, 0,
11474 { &hf_z3950_mustBeSupplied
,
11475 { "mustBeSupplied", "z3950.mustBeSupplied_element",
11476 FT_NONE
, BASE_NONE
, NULL
, 0,
11478 { &hf_z3950_attributeOccurrence_attributeValues
,
11479 { "attributeValues", "z3950.attributeValues",
11480 FT_UINT32
, BASE_DEC
, VALS(z3950_T_attributeOccurrence_attributeValues_vals
), 0,
11481 "T_attributeOccurrence_attributeValues", HFILL
}},
11482 { &hf_z3950_any_or_none
,
11483 { "any-or-none", "z3950.any_or_none_element",
11484 FT_NONE
, BASE_NONE
, NULL
, 0,
11486 { &hf_z3950_specific
,
11487 { "specific", "z3950.specific",
11488 FT_UINT32
, BASE_DEC
, NULL
, 0,
11489 "SEQUENCE_OF_StringOrNumeric", HFILL
}},
11490 { &hf_z3950_specific_item
,
11491 { "StringOrNumeric", "z3950.StringOrNumeric",
11492 FT_UINT32
, BASE_DEC
, VALS(z3950_StringOrNumeric_vals
), 0,
11494 { &hf_z3950_briefBib_title
,
11495 { "title", "z3950.title",
11496 FT_STRING
, BASE_NONE
, NULL
, 0,
11497 "InternationalString", HFILL
}},
11498 { &hf_z3950_author
,
11499 { "author", "z3950.author",
11500 FT_STRING
, BASE_NONE
, NULL
, 0,
11501 "InternationalString", HFILL
}},
11502 { &hf_z3950_recordType
,
11503 { "recordType", "z3950.recordType",
11504 FT_STRING
, BASE_NONE
, NULL
, 0,
11505 "InternationalString", HFILL
}},
11506 { &hf_z3950_bibliographicLevel
,
11507 { "bibliographicLevel", "z3950.bibliographicLevel",
11508 FT_STRING
, BASE_NONE
, NULL
, 0,
11509 "InternationalString", HFILL
}},
11510 { &hf_z3950_briefBib_format
,
11511 { "format", "z3950.format",
11512 FT_UINT32
, BASE_DEC
, NULL
, 0,
11513 "SEQUENCE_OF_FormatSpec", HFILL
}},
11514 { &hf_z3950_briefBib_format_item
,
11515 { "FormatSpec", "z3950.FormatSpec_element",
11516 FT_NONE
, BASE_NONE
, NULL
, 0,
11518 { &hf_z3950_publicationPlace
,
11519 { "publicationPlace", "z3950.publicationPlace",
11520 FT_STRING
, BASE_NONE
, NULL
, 0,
11521 "InternationalString", HFILL
}},
11522 { &hf_z3950_publicationDate
,
11523 { "publicationDate", "z3950.publicationDate",
11524 FT_STRING
, BASE_NONE
, NULL
, 0,
11525 "InternationalString", HFILL
}},
11526 { &hf_z3950_targetSystemKey
,
11527 { "targetSystemKey", "z3950.targetSystemKey",
11528 FT_STRING
, BASE_NONE
, NULL
, 0,
11529 "InternationalString", HFILL
}},
11530 { &hf_z3950_satisfyingElement
,
11531 { "satisfyingElement", "z3950.satisfyingElement",
11532 FT_STRING
, BASE_NONE
, NULL
, 0,
11533 "InternationalString", HFILL
}},
11535 { "rank", "z3950.rank",
11536 FT_INT32
, BASE_DEC
, NULL
, 0,
11537 "INTEGER", HFILL
}},
11538 { &hf_z3950_documentId
,
11539 { "documentId", "z3950.documentId",
11540 FT_STRING
, BASE_NONE
, NULL
, 0,
11541 "InternationalString", HFILL
}},
11542 { &hf_z3950_abstract
,
11543 { "abstract", "z3950.abstract",
11544 FT_STRING
, BASE_NONE
, NULL
, 0,
11545 "InternationalString", HFILL
}},
11546 { &hf_z3950_formatSpec_type
,
11547 { "type", "z3950.type",
11548 FT_STRING
, BASE_NONE
, NULL
, 0,
11549 "InternationalString", HFILL
}},
11551 { "size", "z3950.size",
11552 FT_INT32
, BASE_DEC
, NULL
, 0,
11553 "INTEGER", HFILL
}},
11554 { &hf_z3950_bestPosn
,
11555 { "bestPosn", "z3950.bestPosn",
11556 FT_INT32
, BASE_DEC
, NULL
, 0,
11557 "INTEGER", HFILL
}},
11558 { &hf_z3950_GenericRecord_item
,
11559 { "TaggedElement", "z3950.TaggedElement_element",
11560 FT_NONE
, BASE_NONE
, NULL
, 0,
11562 { &hf_z3950_tagOccurrence
,
11563 { "tagOccurrence", "z3950.tagOccurrence",
11564 FT_INT32
, BASE_DEC
, NULL
, 0,
11565 "INTEGER", HFILL
}},
11566 { &hf_z3950_taggedElement_content
,
11567 { "content", "z3950.content",
11568 FT_UINT32
, BASE_DEC
, VALS(z3950_ElementData_vals
), 0,
11569 "ElementData", HFILL
}},
11570 { &hf_z3950_metaData
,
11571 { "metaData", "z3950.metaData_element",
11572 FT_NONE
, BASE_NONE
, NULL
, 0,
11573 "ElementMetaData", HFILL
}},
11574 { &hf_z3950_appliedVariant
,
11575 { "appliedVariant", "z3950.appliedVariant_element",
11576 FT_NONE
, BASE_NONE
, NULL
, 0,
11577 "Variant", HFILL
}},
11579 { "date", "z3950.date",
11580 FT_ABSOLUTE_TIME
, ABSOLUTE_TIME_LOCAL
, NULL
, 0,
11581 "GeneralizedTime", HFILL
}},
11583 { "ext", "z3950.ext_element",
11584 FT_NONE
, BASE_NONE
, NULL
, 0,
11585 "EXTERNAL", HFILL
}},
11586 { &hf_z3950_trueOrFalse
,
11587 { "trueOrFalse", "z3950.trueOrFalse",
11588 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
11589 "BOOLEAN", HFILL
}},
11590 { &hf_z3950_intUnit
,
11591 { "intUnit", "z3950.intUnit_element",
11592 FT_NONE
, BASE_NONE
, NULL
, 0,
11594 { &hf_z3950_elementNotThere
,
11595 { "elementNotThere", "z3950.elementNotThere_element",
11596 FT_NONE
, BASE_NONE
, NULL
, 0,
11598 { &hf_z3950_elementEmpty
,
11599 { "elementEmpty", "z3950.elementEmpty_element",
11600 FT_NONE
, BASE_NONE
, NULL
, 0,
11602 { &hf_z3950_noDataRequested
,
11603 { "noDataRequested", "z3950.noDataRequested_element",
11604 FT_NONE
, BASE_NONE
, NULL
, 0,
11606 { &hf_z3950_elementData_diagnostic
,
11607 { "diagnostic", "z3950.diagnostic_element",
11608 FT_NONE
, BASE_NONE
, NULL
, 0,
11609 "EXTERNAL", HFILL
}},
11610 { &hf_z3950_subtree
,
11611 { "subtree", "z3950.subtree",
11612 FT_UINT32
, BASE_DEC
, NULL
, 0,
11613 "SEQUENCE_OF_TaggedElement", HFILL
}},
11614 { &hf_z3950_subtree_item
,
11615 { "TaggedElement", "z3950.TaggedElement_element",
11616 FT_NONE
, BASE_NONE
, NULL
, 0,
11618 { &hf_z3950_seriesOrder
,
11619 { "seriesOrder", "z3950.seriesOrder_element",
11620 FT_NONE
, BASE_NONE
, NULL
, 0,
11622 { &hf_z3950_usageRight
,
11623 { "usageRight", "z3950.usageRight_element",
11624 FT_NONE
, BASE_NONE
, NULL
, 0,
11627 { "hits", "z3950.hits",
11628 FT_UINT32
, BASE_DEC
, NULL
, 0,
11629 "SEQUENCE_OF_HitVector", HFILL
}},
11630 { &hf_z3950_hits_item
,
11631 { "HitVector", "z3950.HitVector_element",
11632 FT_NONE
, BASE_NONE
, NULL
, 0,
11634 { &hf_z3950_displayName
,
11635 { "displayName", "z3950.displayName",
11636 FT_STRING
, BASE_NONE
, NULL
, 0,
11637 "InternationalString", HFILL
}},
11638 { &hf_z3950_supportedVariants
,
11639 { "supportedVariants", "z3950.supportedVariants",
11640 FT_UINT32
, BASE_DEC
, NULL
, 0,
11641 "SEQUENCE_OF_Variant", HFILL
}},
11642 { &hf_z3950_supportedVariants_item
,
11643 { "Variant", "z3950.Variant_element",
11644 FT_NONE
, BASE_NONE
, NULL
, 0,
11646 { &hf_z3950_elementDescriptor
,
11647 { "elementDescriptor", "z3950.elementDescriptor",
11648 FT_BYTES
, BASE_NONE
, NULL
, 0,
11649 "OCTET_STRING", HFILL
}},
11650 { &hf_z3950_surrogateFor
,
11651 { "surrogateFor", "z3950.surrogateFor",
11652 FT_UINT32
, BASE_DEC
, NULL
, 0,
11653 "TagPath", HFILL
}},
11654 { &hf_z3950_surrogateElement
,
11655 { "surrogateElement", "z3950.surrogateElement",
11656 FT_UINT32
, BASE_DEC
, NULL
, 0,
11657 "TagPath", HFILL
}},
11658 { &hf_z3950_TagPath_item
,
11659 { "TagPath item", "z3950.TagPath_item_element",
11660 FT_NONE
, BASE_NONE
, NULL
, 0,
11662 { &hf_z3950_ascending
,
11663 { "ascending", "z3950.ascending",
11664 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
11665 "BOOLEAN", HFILL
}},
11667 { "order", "z3950.order",
11668 FT_INT32
, BASE_DEC
, NULL
, 0,
11669 "INTEGER", HFILL
}},
11670 { &hf_z3950_usage_type
,
11671 { "type", "z3950.type",
11672 FT_INT32
, BASE_DEC
, VALS(z3950_T_usage_type_vals
), 0,
11673 "T_usage_type", HFILL
}},
11674 { &hf_z3950_restriction
,
11675 { "restriction", "z3950.restriction",
11676 FT_STRING
, BASE_NONE
, NULL
, 0,
11677 "InternationalString", HFILL
}},
11678 { &hf_z3950_satisfier
,
11679 { "satisfier", "z3950.satisfier",
11680 FT_UINT32
, BASE_DEC
, VALS(z3950_Term_vals
), 0,
11682 { &hf_z3950_offsetIntoElement
,
11683 { "offsetIntoElement", "z3950.offsetIntoElement_element",
11684 FT_NONE
, BASE_NONE
, NULL
, 0,
11685 "IntUnit", HFILL
}},
11686 { &hf_z3950_length
,
11687 { "length", "z3950.length_element",
11688 FT_NONE
, BASE_NONE
, NULL
, 0,
11689 "IntUnit", HFILL
}},
11690 { &hf_z3950_hitRank
,
11691 { "hitRank", "z3950.hitRank",
11692 FT_INT32
, BASE_DEC
, NULL
, 0,
11693 "INTEGER", HFILL
}},
11694 { &hf_z3950_targetToken
,
11695 { "targetToken", "z3950.targetToken",
11696 FT_BYTES
, BASE_NONE
, NULL
, 0,
11697 "OCTET_STRING", HFILL
}},
11698 { &hf_z3950_globalVariantSetId
,
11699 { "globalVariantSetId", "z3950.globalVariantSetId",
11700 FT_OID
, BASE_NONE
, NULL
, 0,
11701 "OBJECT_IDENTIFIER", HFILL
}},
11702 { &hf_z3950_triples
,
11703 { "triples", "z3950.triples",
11704 FT_UINT32
, BASE_DEC
, NULL
, 0,
11706 { &hf_z3950_triples_item
,
11707 { "triples item", "z3950.triples_item_element",
11708 FT_NONE
, BASE_NONE
, NULL
, 0,
11710 { &hf_z3950_variantSetId
,
11711 { "variantSetId", "z3950.variantSetId",
11712 FT_OID
, BASE_NONE
, NULL
, 0,
11713 "OBJECT_IDENTIFIER", HFILL
}},
11715 { "class", "z3950.class",
11716 FT_INT32
, BASE_DEC
, NULL
, 0,
11717 "INTEGER", HFILL
}},
11718 { &hf_z3950_variant_triples_item_value
,
11719 { "value", "z3950.value",
11720 FT_UINT32
, BASE_DEC
, VALS(z3950_T_variant_triples_item_value_vals
), 0,
11721 "T_variant_triples_item_value", HFILL
}},
11722 { &hf_z3950_octetString
,
11723 { "octetString", "z3950.octetString",
11724 FT_BYTES
, BASE_NONE
, NULL
, 0,
11725 "OCTET_STRING", HFILL
}},
11726 { &hf_z3950_boolean
,
11727 { "boolean", "z3950.boolean",
11728 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
11730 { &hf_z3950_variant_triples_item_value_unit
,
11731 { "unit", "z3950.unit_element",
11732 FT_NONE
, BASE_NONE
, NULL
, 0,
11734 { &hf_z3950_taskPackage_description
,
11735 { "description", "z3950.description",
11736 FT_STRING
, BASE_NONE
, NULL
, 0,
11737 "InternationalString", HFILL
}},
11738 { &hf_z3950_targetReference
,
11739 { "targetReference", "z3950.targetReference",
11740 FT_BYTES
, BASE_NONE
, NULL
, 0,
11741 "OCTET_STRING", HFILL
}},
11742 { &hf_z3950_creationDateTime
,
11743 { "creationDateTime", "z3950.creationDateTime",
11744 FT_ABSOLUTE_TIME
, ABSOLUTE_TIME_LOCAL
, NULL
, 0,
11745 "GeneralizedTime", HFILL
}},
11746 { &hf_z3950_taskStatus
,
11747 { "taskStatus", "z3950.taskStatus",
11748 FT_INT32
, BASE_DEC
, VALS(z3950_T_taskStatus_vals
), 0,
11750 { &hf_z3950_packageDiagnostics
,
11751 { "packageDiagnostics", "z3950.packageDiagnostics",
11752 FT_UINT32
, BASE_DEC
, NULL
, 0,
11753 "SEQUENCE_OF_DiagRec", HFILL
}},
11754 { &hf_z3950_packageDiagnostics_item
,
11755 { "DiagRec", "z3950.DiagRec",
11756 FT_UINT32
, BASE_DEC
, VALS(z3950_DiagRec_vals
), 0,
11758 { &hf_z3950_challenge
,
11759 { "challenge", "z3950.challenge",
11760 FT_UINT32
, BASE_DEC
, NULL
, 0,
11762 { &hf_z3950_response
,
11763 { "response", "z3950.response",
11764 FT_UINT32
, BASE_DEC
, NULL
, 0,
11766 { &hf_z3950_Challenge_item
,
11767 { "Challenge item", "z3950.Challenge_item_element",
11768 FT_NONE
, BASE_NONE
, NULL
, 0,
11770 { &hf_z3950_promptId
,
11771 { "promptId", "z3950.promptId",
11772 FT_UINT32
, BASE_DEC
, VALS(z3950_PromptId_vals
), 0,
11774 { &hf_z3950_defaultResponse
,
11775 { "defaultResponse", "z3950.defaultResponse",
11776 FT_STRING
, BASE_NONE
, NULL
, 0,
11777 "InternationalString", HFILL
}},
11778 { &hf_z3950_promptInfo
,
11779 { "promptInfo", "z3950.promptInfo",
11780 FT_UINT32
, BASE_DEC
, VALS(z3950_T_promptInfo_vals
), 0,
11782 { &hf_z3950_challenge_item_promptInfo_character
,
11783 { "character", "z3950.character",
11784 FT_STRING
, BASE_NONE
, NULL
, 0,
11785 "InternationalString", HFILL
}},
11786 { &hf_z3950_encrypted
,
11787 { "encrypted", "z3950.encrypted_element",
11788 FT_NONE
, BASE_NONE
, NULL
, 0,
11789 "Encryption", HFILL
}},
11790 { &hf_z3950_regExpr
,
11791 { "regExpr", "z3950.regExpr",
11792 FT_STRING
, BASE_NONE
, NULL
, 0,
11793 "InternationalString", HFILL
}},
11794 { &hf_z3950_responseRequired
,
11795 { "responseRequired", "z3950.responseRequired_element",
11796 FT_NONE
, BASE_NONE
, NULL
, 0,
11798 { &hf_z3950_allowedValues
,
11799 { "allowedValues", "z3950.allowedValues",
11800 FT_UINT32
, BASE_DEC
, NULL
, 0,
11801 "SEQUENCE_OF_InternationalString", HFILL
}},
11802 { &hf_z3950_allowedValues_item
,
11803 { "InternationalString", "z3950.InternationalString",
11804 FT_STRING
, BASE_NONE
, NULL
, 0,
11806 { &hf_z3950_shouldSave
,
11807 { "shouldSave", "z3950.shouldSave_element",
11808 FT_NONE
, BASE_NONE
, NULL
, 0,
11810 { &hf_z3950_challenge_item_dataType
,
11811 { "dataType", "z3950.dataType",
11812 FT_INT32
, BASE_DEC
, VALS(z3950_T_challenge_item_dataType_vals
), 0,
11813 "T_challenge_item_dataType", HFILL
}},
11814 { &hf_z3950_challenge_item_diagnostic
,
11815 { "diagnostic", "z3950.diagnostic_element",
11816 FT_NONE
, BASE_NONE
, NULL
, 0,
11817 "EXTERNAL", HFILL
}},
11818 { &hf_z3950_Response_item
,
11819 { "Response item", "z3950.Response_item_element",
11820 FT_NONE
, BASE_NONE
, NULL
, 0,
11822 { &hf_z3950_promptResponse
,
11823 { "promptResponse", "z3950.promptResponse",
11824 FT_UINT32
, BASE_DEC
, VALS(z3950_T_promptResponse_vals
), 0,
11826 { &hf_z3950_accept
,
11827 { "accept", "z3950.accept",
11828 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
11829 "BOOLEAN", HFILL
}},
11830 { &hf_z3950_acknowledge
,
11831 { "acknowledge", "z3950.acknowledge_element",
11832 FT_NONE
, BASE_NONE
, NULL
, 0,
11834 { &hf_z3950_enummeratedPrompt
,
11835 { "enummeratedPrompt", "z3950.enummeratedPrompt_element",
11836 FT_NONE
, BASE_NONE
, NULL
, 0,
11838 { &hf_z3950_promptId_enummeratedPrompt_type
,
11839 { "type", "z3950.type",
11840 FT_INT32
, BASE_DEC
, VALS(z3950_T_promptId_enummeratedPrompt_type_vals
), 0,
11841 "T_promptId_enummeratedPrompt_type", HFILL
}},
11842 { &hf_z3950_suggestedString
,
11843 { "suggestedString", "z3950.suggestedString",
11844 FT_STRING
, BASE_NONE
, NULL
, 0,
11845 "InternationalString", HFILL
}},
11846 { &hf_z3950_nonEnumeratedPrompt
,
11847 { "nonEnumeratedPrompt", "z3950.nonEnumeratedPrompt",
11848 FT_STRING
, BASE_NONE
, NULL
, 0,
11849 "InternationalString", HFILL
}},
11850 { &hf_z3950_cryptType
,
11851 { "cryptType", "z3950.cryptType",
11852 FT_BYTES
, BASE_NONE
, NULL
, 0,
11853 "OCTET_STRING", HFILL
}},
11854 { &hf_z3950_credential
,
11855 { "credential", "z3950.credential",
11856 FT_BYTES
, BASE_NONE
, NULL
, 0,
11857 "OCTET_STRING", HFILL
}},
11859 { "data", "z3950.data",
11860 FT_BYTES
, BASE_NONE
, NULL
, 0,
11861 "OCTET_STRING", HFILL
}},
11862 { &hf_z3950_dES_RN_Object_challenge
,
11863 { "challenge", "z3950.challenge_element",
11864 FT_NONE
, BASE_NONE
, NULL
, 0,
11865 "DRNType", HFILL
}},
11866 { &hf_z3950_rES_RN_Object_response
,
11867 { "response", "z3950.response_element",
11868 FT_NONE
, BASE_NONE
, NULL
, 0,
11869 "DRNType", HFILL
}},
11870 { &hf_z3950_dRNType_userId
,
11871 { "userId", "z3950.userId",
11872 FT_BYTES
, BASE_NONE
, NULL
, 0,
11873 "OCTET_STRING", HFILL
}},
11875 { "salt", "z3950.salt",
11876 FT_BYTES
, BASE_NONE
, NULL
, 0,
11877 "OCTET_STRING", HFILL
}},
11878 { &hf_z3950_randomNumber
,
11879 { "randomNumber", "z3950.randomNumber",
11880 FT_BYTES
, BASE_NONE
, NULL
, 0,
11881 "OCTET_STRING", HFILL
}},
11882 { &hf_z3950_kRBObject_challenge
,
11883 { "challenge", "z3950.challenge_element",
11884 FT_NONE
, BASE_NONE
, NULL
, 0,
11885 "KRBRequest", HFILL
}},
11886 { &hf_z3950_kRBObject_response
,
11887 { "response", "z3950.response_element",
11888 FT_NONE
, BASE_NONE
, NULL
, 0,
11889 "KRBResponse", HFILL
}},
11890 { &hf_z3950_service
,
11891 { "service", "z3950.service",
11892 FT_STRING
, BASE_NONE
, NULL
, 0,
11893 "InternationalString", HFILL
}},
11894 { &hf_z3950_instance
,
11895 { "instance", "z3950.instance",
11896 FT_STRING
, BASE_NONE
, NULL
, 0,
11897 "InternationalString", HFILL
}},
11899 { "realm", "z3950.realm",
11900 FT_STRING
, BASE_NONE
, NULL
, 0,
11901 "InternationalString", HFILL
}},
11902 { &hf_z3950_userid
,
11903 { "userid", "z3950.userid",
11904 FT_STRING
, BASE_NONE
, NULL
, 0,
11905 "InternationalString", HFILL
}},
11906 { &hf_z3950_ticket
,
11907 { "ticket", "z3950.ticket",
11908 FT_BYTES
, BASE_NONE
, NULL
, 0,
11909 "OCTET_STRING", HFILL
}},
11910 { &hf_z3950_SearchInfoReport_item
,
11911 { "SearchInfoReport item", "z3950.SearchInfoReport_item_element",
11912 FT_NONE
, BASE_NONE
, NULL
, 0,
11914 { &hf_z3950_subqueryId
,
11915 { "subqueryId", "z3950.subqueryId",
11916 FT_STRING
, BASE_NONE
, NULL
, 0,
11917 "InternationalString", HFILL
}},
11918 { &hf_z3950_fullQuery
,
11919 { "fullQuery", "z3950.fullQuery",
11920 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
11921 "BOOLEAN", HFILL
}},
11922 { &hf_z3950_subqueryExpression
,
11923 { "subqueryExpression", "z3950.subqueryExpression",
11924 FT_UINT32
, BASE_DEC
, VALS(z3950_QueryExpression_vals
), 0,
11925 "QueryExpression", HFILL
}},
11926 { &hf_z3950_subqueryInterpretation
,
11927 { "subqueryInterpretation", "z3950.subqueryInterpretation",
11928 FT_UINT32
, BASE_DEC
, VALS(z3950_QueryExpression_vals
), 0,
11929 "QueryExpression", HFILL
}},
11930 { &hf_z3950_subqueryRecommendation
,
11931 { "subqueryRecommendation", "z3950.subqueryRecommendation",
11932 FT_UINT32
, BASE_DEC
, VALS(z3950_QueryExpression_vals
), 0,
11933 "QueryExpression", HFILL
}},
11934 { &hf_z3950_subqueryCount
,
11935 { "subqueryCount", "z3950.subqueryCount",
11936 FT_INT32
, BASE_DEC
, NULL
, 0,
11937 "INTEGER", HFILL
}},
11938 { &hf_z3950_subqueryWeight
,
11939 { "subqueryWeight", "z3950.subqueryWeight_element",
11940 FT_NONE
, BASE_NONE
, NULL
, 0,
11941 "IntUnit", HFILL
}},
11942 { &hf_z3950_resultsByDB
,
11943 { "resultsByDB", "z3950.resultsByDB",
11944 FT_UINT32
, BASE_DEC
, NULL
, 0,
11946 { &hf_z3950_ResultsByDB_item
,
11947 { "ResultsByDB item", "z3950.ResultsByDB_item_element",
11948 FT_NONE
, BASE_NONE
, NULL
, 0,
11950 { &hf_z3950_databases
,
11951 { "databases", "z3950.databases",
11952 FT_UINT32
, BASE_DEC
, VALS(z3950_T_databases_vals
), 0,
11955 { "all", "z3950.all_element",
11956 FT_NONE
, BASE_NONE
, NULL
, 0,
11959 { "list", "z3950.list",
11960 FT_UINT32
, BASE_DEC
, NULL
, 0,
11961 "SEQUENCE_OF_DatabaseName", HFILL
}},
11962 { &hf_z3950_list_item
,
11963 { "DatabaseName", "z3950.DatabaseName",
11964 FT_STRING
, BASE_NONE
, NULL
, 0,
11967 { "count", "z3950.count",
11968 FT_INT32
, BASE_DEC
, NULL
, 0,
11969 "INTEGER", HFILL
}},
11970 { &hf_z3950_queryExpression_term
,
11971 { "term", "z3950.term_element",
11972 FT_NONE
, BASE_NONE
, NULL
, 0,
11973 "T_queryExpression_term", HFILL
}},
11974 { &hf_z3950_queryTerm
,
11975 { "queryTerm", "z3950.queryTerm",
11976 FT_UINT32
, BASE_DEC
, VALS(z3950_Term_vals
), 0,
11978 { &hf_z3950_termComment
,
11979 { "termComment", "z3950.termComment",
11980 FT_STRING
, BASE_NONE
, NULL
, 0,
11981 "InternationalString", HFILL
}},
11982 { &hf_z3950_ProtocolVersion_U_version_1
,
11983 { "version-1", "z3950.ProtocolVersion.U.version.1",
11984 FT_BOOLEAN
, 8, NULL
, 0x80,
11986 { &hf_z3950_ProtocolVersion_U_version_2
,
11987 { "version-2", "z3950.ProtocolVersion.U.version.2",
11988 FT_BOOLEAN
, 8, NULL
, 0x40,
11990 { &hf_z3950_ProtocolVersion_U_version_3
,
11991 { "version-3", "z3950.ProtocolVersion.U.version.3",
11992 FT_BOOLEAN
, 8, NULL
, 0x20,
11994 { &hf_z3950_Options_U_search
,
11995 { "search", "z3950.Options.U.search",
11996 FT_BOOLEAN
, 8, NULL
, 0x80,
11998 { &hf_z3950_Options_U_present
,
11999 { "present", "z3950.Options.U.present",
12000 FT_BOOLEAN
, 8, NULL
, 0x40,
12002 { &hf_z3950_Options_U_delSet
,
12003 { "delSet", "z3950.Options.U.delSet",
12004 FT_BOOLEAN
, 8, NULL
, 0x20,
12006 { &hf_z3950_Options_U_resourceReport
,
12007 { "resourceReport", "z3950.Options.U.resourceReport",
12008 FT_BOOLEAN
, 8, NULL
, 0x10,
12010 { &hf_z3950_Options_U_triggerResourceCtrl
,
12011 { "triggerResourceCtrl", "z3950.Options.U.triggerResourceCtrl",
12012 FT_BOOLEAN
, 8, NULL
, 0x08,
12014 { &hf_z3950_Options_U_resourceCtrl
,
12015 { "resourceCtrl", "z3950.Options.U.resourceCtrl",
12016 FT_BOOLEAN
, 8, NULL
, 0x04,
12018 { &hf_z3950_Options_U_accessCtrl
,
12019 { "accessCtrl", "z3950.Options.U.accessCtrl",
12020 FT_BOOLEAN
, 8, NULL
, 0x02,
12022 { &hf_z3950_Options_U_scan
,
12023 { "scan", "z3950.Options.U.scan",
12024 FT_BOOLEAN
, 8, NULL
, 0x01,
12026 { &hf_z3950_Options_U_sort
,
12027 { "sort", "z3950.Options.U.sort",
12028 FT_BOOLEAN
, 8, NULL
, 0x80,
12030 { &hf_z3950_Options_U_spare_bit9
,
12031 { "spare_bit9", "z3950.Options.U.spare.bit9",
12032 FT_BOOLEAN
, 8, NULL
, 0x40,
12034 { &hf_z3950_Options_U_extendedServices
,
12035 { "extendedServices", "z3950.Options.U.extendedServices",
12036 FT_BOOLEAN
, 8, NULL
, 0x20,
12038 { &hf_z3950_Options_U_level_1Segmentation
,
12039 { "level-1Segmentation", "z3950.Options.U.level.1Segmentation",
12040 FT_BOOLEAN
, 8, NULL
, 0x10,
12042 { &hf_z3950_Options_U_level_2Segmentation
,
12043 { "level-2Segmentation", "z3950.Options.U.level.2Segmentation",
12044 FT_BOOLEAN
, 8, NULL
, 0x08,
12046 { &hf_z3950_Options_U_concurrentOperations
,
12047 { "concurrentOperations", "z3950.Options.U.concurrentOperations",
12048 FT_BOOLEAN
, 8, NULL
, 0x04,
12050 { &hf_z3950_Options_U_namedResultSets
,
12051 { "namedResultSets", "z3950.Options.U.namedResultSets",
12052 FT_BOOLEAN
, 8, NULL
, 0x02,
12055 { &hf_z3950_referenceId_printable
,
12056 { "referenceId", "z3950.referenceId.printable",
12057 FT_STRING
, BASE_NONE
, NULL
, 0,
12059 { &hf_z3950_general_printable
,
12060 { "general", "z3950.general.printable",
12061 FT_STRING
, BASE_NONE
, NULL
, 0,
12064 /* MARC hf definitions */
12066 { "MARC record", "marc",
12067 FT_NONE
, BASE_NONE
, NULL
, 0,
12069 { &hf_marc_record_terminator
,
12070 { "MARC record terminator", "marc.terminator",
12071 FT_CHAR
, BASE_HEX
, NULL
, 0,
12074 { "MARC leader", "marc.leader",
12075 FT_NONE
, BASE_NONE
, NULL
, 0,
12077 { &hf_marc_leader_length
,
12078 { "MARC leader length", "marc.leader.length",
12079 FT_STRING
, BASE_NONE
, NULL
, 0,
12081 { &hf_marc_leader_status
,
12082 { "MARC leader status", "marc.leader.status",
12083 FT_CHAR
, BASE_HEX
, NULL
, 0,
12085 { &hf_marc_leader_type
,
12086 { "MARC leader type", "marc.leader.type",
12087 FT_CHAR
, BASE_HEX
, NULL
, 0,
12089 { &hf_marc_leader_biblevel
,
12090 { "MARC leader biblevel", "marc.leader.biblevel",
12091 FT_CHAR
, BASE_HEX
, NULL
, 0,
12093 { &hf_marc_leader_control
,
12094 { "MARC leader control", "marc.leader.control",
12095 FT_CHAR
, BASE_HEX
, NULL
, 0,
12097 { &hf_marc_leader_encoding
,
12098 { "MARC leader encoding", "marc.leader.encoding",
12099 FT_CHAR
, BASE_HEX
, NULL
, 0,
12101 { &hf_marc_leader_indicator_count
,
12102 { "MARC leader indicator count", "marc.leader.indicator_count",
12103 FT_CHAR
, BASE_HEX
, NULL
, 0,
12105 { &hf_marc_leader_subfield_count
,
12106 { "MARC leader subfield count", "marc.leader.subfield_count",
12107 FT_CHAR
, BASE_HEX
, NULL
, 0,
12109 { &hf_marc_leader_data_offset
,
12110 { "MARC leader data offset", "marc.leader.data_offset",
12111 FT_STRING
, BASE_NONE
, NULL
, 0,
12113 { &hf_marc_leader_encoding_level
,
12114 { "MARC leader encoding level", "marc.leader.encoding_level",
12115 FT_CHAR
, BASE_HEX
, NULL
, 0,
12117 { &hf_marc_leader_descriptive_cataloging
,
12118 { "MARC leader descriptive cataloging", "marc.leader.descriptive_cataloging",
12119 FT_CHAR
, BASE_HEX
, NULL
, 0,
12121 { &hf_marc_leader_multipart_level
,
12122 { "MARC leader multipart level", "marc.leader.multipart_level",
12123 FT_CHAR
, BASE_HEX
, NULL
, 0,
12125 { &hf_marc_leader_length_of_field_length
,
12126 { "MARC leader length-of-field length", "marc.leader.length_of_field_length",
12127 FT_CHAR
, BASE_HEX
, NULL
, 0,
12129 { &hf_marc_leader_starting_character_position_length
,
12130 { "MARC leader starting-character-position length", "marc.leader.starting_character_position_length",
12131 FT_CHAR
, BASE_HEX
, NULL
, 0,
12133 { &hf_marc_leader_implementation_defined_length
,
12134 { "MARC leader implementation-defined length", "marc.leader.implementation_defined_length",
12135 FT_CHAR
, BASE_HEX
, NULL
, 0,
12137 { &hf_marc_directory
,
12138 { "MARC directory", "marc.directory",
12139 FT_NONE
, BASE_NONE
, NULL
, 0,
12141 { &hf_marc_directory_entry
,
12142 { "MARC directory entry", "marc.directory.entry",
12143 FT_NONE
, BASE_NONE
, NULL
, 0,
12145 { &hf_marc_directory_entry_tag
,
12146 { "tag", "marc.directory.entry.tag",
12147 FT_STRING
, BASE_NONE
, NULL
, 0,
12149 { &hf_marc_directory_entry_length
,
12150 { "length", "marc.directory.entry.length",
12151 FT_STRING
, BASE_NONE
, NULL
, 0,
12153 { &hf_marc_directory_entry_starting_position
,
12154 { "starting position", "marc.directory.entry.starting_position",
12155 FT_STRING
, BASE_NONE
, NULL
, 0,
12157 { &hf_marc_directory_terminator
,
12158 { "MARC directory terminator", "marc.directory.terminator",
12159 FT_CHAR
, BASE_HEX
, NULL
, 0,
12162 { "MARC data fields", "marc.fields",
12163 FT_NONE
, BASE_NONE
, NULL
, 0,
12166 { "MARC field", "marc.field",
12167 FT_NONE
, BASE_NONE
, NULL
, 0,
12169 { &hf_marc_field_control
,
12170 { "Control field", "marc.field.control",
12171 FT_STRING
, BASE_NONE
, NULL
, 0,
12173 { &hf_marc_field_terminator
,
12174 { "MARC field terminator", "marc.field.terminator",
12175 FT_CHAR
, BASE_HEX
, NULL
, 0,
12177 { &hf_marc_field_indicator1
,
12178 { "MARC field indicator1", "marc.field.indicator1",
12179 FT_CHAR
, BASE_HEX
, NULL
, 0,
12181 { &hf_marc_field_indicator2
,
12182 { "MARC field indicator2", "marc.field.indicator2",
12183 FT_CHAR
, BASE_HEX
, NULL
, 0,
12185 { &hf_marc_field_subfield_indicator
,
12186 { "MARC field subfield indicator", "marc.field.subfield.indicator",
12187 FT_CHAR
, BASE_HEX
, NULL
, 0,
12189 { &hf_marc_field_subfield_tag
,
12190 { "MARC field subfield tag", "marc.field.subfield.tag",
12191 FT_CHAR
, BASE_HEX
, NULL
, 0,
12193 { &hf_marc_field_subfield
,
12194 { "MARC Subfield", "marc.field.subfield",
12195 FT_STRING
, BASE_NONE
, NULL
, 0,
12200 /* List of subtrees */
12201 static int *ett
[] = {
12206 &ett_marc_directory
,
12207 &ett_marc_directory_entry
,
12211 &ett_z3950_InitializeRequest
,
12212 &ett_z3950_T_idAuthentication
,
12213 &ett_z3950_T_idPass
,
12214 &ett_z3950_InitializeResponse
,
12215 &ett_z3950_ProtocolVersion_U
,
12216 &ett_z3950_Options_U
,
12217 &ett_z3950_SearchRequest
,
12218 &ett_z3950_SEQUENCE_OF_DatabaseName
,
12220 &ett_z3950_RPNQuery
,
12221 &ett_z3950_RPNStructure
,
12222 &ett_z3950_T_rpnRpnOp
,
12223 &ett_z3950_Operand
,
12224 &ett_z3950_AttributesPlusTerm_U
,
12225 &ett_z3950_ResultSetPlusAttributes_U
,
12226 &ett_z3950_SEQUENCE_OF_AttributeElement
,
12228 &ett_z3950_Operator_U
,
12229 &ett_z3950_AttributeElement
,
12230 &ett_z3950_T_attributeValue
,
12231 &ett_z3950_T_attributeValue_complex
,
12232 &ett_z3950_SEQUENCE_OF_StringOrNumeric
,
12233 &ett_z3950_T_semanticAction
,
12234 &ett_z3950_ProximityOperator
,
12235 &ett_z3950_T_proximityUnitCode
,
12236 &ett_z3950_SearchResponse
,
12237 &ett_z3950_PresentRequest
,
12238 &ett_z3950_SEQUENCE_OF_Range
,
12239 &ett_z3950_T_recordComposition
,
12240 &ett_z3950_Segment
,
12241 &ett_z3950_SEQUENCE_OF_NamePlusRecord
,
12242 &ett_z3950_PresentResponse
,
12243 &ett_z3950_Records
,
12244 &ett_z3950_SEQUENCE_OF_DiagRec
,
12245 &ett_z3950_NamePlusRecord
,
12246 &ett_z3950_T_record
,
12247 &ett_z3950_FragmentSyntax
,
12248 &ett_z3950_DiagRec
,
12249 &ett_z3950_DefaultDiagFormat
,
12250 &ett_z3950_T_addinfo
,
12252 &ett_z3950_ElementSetNames
,
12253 &ett_z3950_T_databaseSpecific
,
12254 &ett_z3950_T_databaseSpecific_item
,
12255 &ett_z3950_CompSpec
,
12256 &ett_z3950_T_dbSpecific
,
12257 &ett_z3950_T_dbSpecific_item
,
12258 &ett_z3950_T_compSpec_recordSyntax
,
12259 &ett_z3950_Specification
,
12260 &ett_z3950_T_specification_elementSpec
,
12261 &ett_z3950_DeleteResultSetRequest
,
12262 &ett_z3950_SEQUENCE_OF_ResultSetId
,
12263 &ett_z3950_DeleteResultSetResponse
,
12264 &ett_z3950_ListStatuses
,
12265 &ett_z3950_ListStatuses_item
,
12266 &ett_z3950_AccessControlRequest
,
12267 &ett_z3950_T_securityChallenge
,
12268 &ett_z3950_AccessControlResponse
,
12269 &ett_z3950_T_securityChallengeResponse
,
12270 &ett_z3950_ResourceControlRequest
,
12271 &ett_z3950_ResourceControlResponse
,
12272 &ett_z3950_TriggerResourceControlRequest
,
12273 &ett_z3950_ResourceReportRequest
,
12274 &ett_z3950_ResourceReportResponse
,
12275 &ett_z3950_ScanRequest
,
12276 &ett_z3950_ScanResponse
,
12277 &ett_z3950_ListEntries
,
12278 &ett_z3950_SEQUENCE_OF_Entry
,
12280 &ett_z3950_TermInfo
,
12281 &ett_z3950_SEQUENCE_OF_AttributesPlusTerm
,
12282 &ett_z3950_OccurrenceByAttributes
,
12283 &ett_z3950_OccurrenceByAttributes_item
,
12284 &ett_z3950_T_occurrences
,
12285 &ett_z3950_T_byDatabase
,
12286 &ett_z3950_T_byDatabase_item
,
12287 &ett_z3950_SortRequest
,
12288 &ett_z3950_SEQUENCE_OF_InternationalString
,
12289 &ett_z3950_SEQUENCE_OF_SortKeySpec
,
12290 &ett_z3950_SortResponse
,
12291 &ett_z3950_SortKeySpec
,
12292 &ett_z3950_T_missingValueAction
,
12293 &ett_z3950_SortElement
,
12294 &ett_z3950_T_datbaseSpecific
,
12295 &ett_z3950_T_datbaseSpecific_item
,
12296 &ett_z3950_SortKey
,
12297 &ett_z3950_T_sortAttributes
,
12298 &ett_z3950_ExtendedServicesRequest
,
12299 &ett_z3950_ExtendedServicesResponse
,
12300 &ett_z3950_Permissions
,
12301 &ett_z3950_Permissions_item
,
12302 &ett_z3950_T_allowableFunctions
,
12304 &ett_z3950_OtherInformation_U
,
12305 &ett_z3950_T__untag_item
,
12306 &ett_z3950_T_information
,
12307 &ett_z3950_InfoCategory
,
12308 &ett_z3950_IntUnit
,
12310 &ett_z3950_StringOrNumeric
,
12311 &ett_z3950_OCLC_UserInformation
,
12312 &ett_z3950_SEQUENCE_OF_DBName
,
12313 &ett_z3950_OPACRecord
,
12314 &ett_z3950_SEQUENCE_OF_HoldingsRecord
,
12315 &ett_z3950_HoldingsRecord
,
12316 &ett_z3950_HoldingsAndCircData
,
12317 &ett_z3950_SEQUENCE_OF_Volume
,
12318 &ett_z3950_SEQUENCE_OF_CircRecord
,
12320 &ett_z3950_CircRecord
,
12321 &ett_z3950_DiagnosticFormat
,
12322 &ett_z3950_DiagnosticFormat_item
,
12323 &ett_z3950_T_diagnosticFormat_item_diagnostic
,
12324 &ett_z3950_DiagFormat
,
12325 &ett_z3950_T_tooMany
,
12326 &ett_z3950_T_badSpec
,
12327 &ett_z3950_SEQUENCE_OF_Specification
,
12328 &ett_z3950_T_dbUnavail
,
12330 &ett_z3950_T_attribute
,
12331 &ett_z3950_T_attCombo
,
12332 &ett_z3950_SEQUENCE_OF_AttributeList
,
12333 &ett_z3950_T_diagFormat_term
,
12334 &ett_z3950_T_diagFormat_proximity
,
12337 &ett_z3950_T_segmentation
,
12338 &ett_z3950_T_extServices
,
12339 &ett_z3950_T_accessCtrl
,
12340 &ett_z3950_T_diagFormat_accessCtrl_oid
,
12341 &ett_z3950_T_alternative
,
12342 &ett_z3950_T_diagFormat_recordSyntax
,
12343 &ett_z3950_T_suggestedAlternatives
,
12344 &ett_z3950_Explain_Record
,
12345 &ett_z3950_TargetInfo
,
12346 &ett_z3950_SEQUENCE_OF_DatabaseList
,
12347 &ett_z3950_SEQUENCE_OF_NetworkAddress
,
12348 &ett_z3950_DatabaseInfo
,
12349 &ett_z3950_SEQUENCE_OF_HumanString
,
12350 &ett_z3950_T_recordCount
,
12351 &ett_z3950_SchemaInfo
,
12352 &ett_z3950_T_tagTypeMapping
,
12353 &ett_z3950_T_tagTypeMapping_item
,
12354 &ett_z3950_SEQUENCE_OF_ElementInfo
,
12355 &ett_z3950_ElementInfo
,
12357 &ett_z3950_Path_item
,
12358 &ett_z3950_ElementDataType
,
12359 &ett_z3950_TagSetInfo
,
12360 &ett_z3950_T_tagSetInfo_elements
,
12361 &ett_z3950_T_tagSetInfo_elements_item
,
12362 &ett_z3950_RecordSyntaxInfo
,
12363 &ett_z3950_T_transferSyntaxes
,
12364 &ett_z3950_AttributeSetInfo
,
12365 &ett_z3950_SEQUENCE_OF_AttributeType
,
12366 &ett_z3950_AttributeType
,
12367 &ett_z3950_SEQUENCE_OF_AttributeDescription
,
12368 &ett_z3950_AttributeDescription
,
12369 &ett_z3950_TermListInfo
,
12370 &ett_z3950_T_termLists
,
12371 &ett_z3950_T_termLists_item
,
12372 &ett_z3950_ExtendedServicesInfo
,
12373 &ett_z3950_AttributeDetails
,
12374 &ett_z3950_SEQUENCE_OF_AttributeSetDetails
,
12375 &ett_z3950_AttributeSetDetails
,
12376 &ett_z3950_SEQUENCE_OF_AttributeTypeDetails
,
12377 &ett_z3950_AttributeTypeDetails
,
12378 &ett_z3950_SEQUENCE_OF_AttributeValue
,
12379 &ett_z3950_OmittedAttributeInterpretation
,
12380 &ett_z3950_AttributeValue
,
12381 &ett_z3950_TermListDetails
,
12382 &ett_z3950_T_scanInfo
,
12383 &ett_z3950_SEQUENCE_OF_Term
,
12384 &ett_z3950_ElementSetDetails
,
12385 &ett_z3950_SEQUENCE_OF_PerElementDetails
,
12386 &ett_z3950_RetrievalRecordDetails
,
12387 &ett_z3950_PerElementDetails
,
12388 &ett_z3950_SEQUENCE_OF_Path
,
12389 &ett_z3950_RecordTag
,
12390 &ett_z3950_SortDetails
,
12391 &ett_z3950_SEQUENCE_OF_SortKeyDetails
,
12392 &ett_z3950_SortKeyDetails
,
12393 &ett_z3950_T_sortType
,
12394 &ett_z3950_ProcessingInformation
,
12395 &ett_z3950_VariantSetInfo
,
12396 &ett_z3950_SEQUENCE_OF_VariantClass
,
12397 &ett_z3950_VariantClass
,
12398 &ett_z3950_SEQUENCE_OF_VariantType
,
12399 &ett_z3950_VariantType
,
12400 &ett_z3950_VariantValue
,
12401 &ett_z3950_ValueSet
,
12402 &ett_z3950_SEQUENCE_OF_ValueDescription
,
12403 &ett_z3950_ValueRange
,
12404 &ett_z3950_ValueDescription
,
12405 &ett_z3950_UnitInfo
,
12406 &ett_z3950_SEQUENCE_OF_UnitType
,
12407 &ett_z3950_UnitType
,
12408 &ett_z3950_SEQUENCE_OF_Units
,
12410 &ett_z3950_CategoryList
,
12411 &ett_z3950_SEQUENCE_OF_CategoryInfo
,
12412 &ett_z3950_CategoryInfo
,
12413 &ett_z3950_CommonInfo
,
12414 &ett_z3950_HumanString
,
12415 &ett_z3950_HumanString_item
,
12416 &ett_z3950_IconObject
,
12417 &ett_z3950_IconObject_item
,
12418 &ett_z3950_T_bodyType
,
12419 &ett_z3950_ContactInfo
,
12420 &ett_z3950_NetworkAddress
,
12421 &ett_z3950_T_internetAddress
,
12422 &ett_z3950_T_osiPresentationAddress
,
12423 &ett_z3950_T_networkAddress_other
,
12424 &ett_z3950_AccessInfo
,
12425 &ett_z3950_SEQUENCE_OF_QueryTypeDetails
,
12426 &ett_z3950_T_diagnosticsSets
,
12427 &ett_z3950_SEQUENCE_OF_AttributeSetId
,
12428 &ett_z3950_T_schemas
,
12429 &ett_z3950_T_recordSyntaxes
,
12430 &ett_z3950_T_resourceChallenges
,
12431 &ett_z3950_T_variantSets
,
12432 &ett_z3950_SEQUENCE_OF_ElementSetName
,
12433 &ett_z3950_QueryTypeDetails
,
12434 &ett_z3950_PrivateCapabilities
,
12435 &ett_z3950_T_privateCapabilities_operators
,
12436 &ett_z3950_T_privateCapabilities_operators_item
,
12437 &ett_z3950_SEQUENCE_OF_SearchKey
,
12438 &ett_z3950_RpnCapabilities
,
12439 &ett_z3950_T_operators
,
12440 &ett_z3950_Iso8777Capabilities
,
12441 &ett_z3950_ProximitySupport
,
12442 &ett_z3950_T_unitsSupported
,
12443 &ett_z3950_T_unitsSupported_item
,
12444 &ett_z3950_T_proximitySupport_unitsSupported_item_private
,
12445 &ett_z3950_SearchKey
,
12446 &ett_z3950_AccessRestrictions
,
12447 &ett_z3950_AccessRestrictions_item
,
12448 &ett_z3950_T_accessChallenges
,
12450 &ett_z3950_T_otherCharges
,
12451 &ett_z3950_T_otherCharges_item
,
12453 &ett_z3950_DatabaseList
,
12454 &ett_z3950_AttributeCombinations
,
12455 &ett_z3950_SEQUENCE_OF_AttributeCombination
,
12456 &ett_z3950_AttributeCombination
,
12457 &ett_z3950_AttributeOccurrence
,
12458 &ett_z3950_T_attributeOccurrence_attributeValues
,
12459 &ett_z3950_BriefBib
,
12460 &ett_z3950_SEQUENCE_OF_FormatSpec
,
12461 &ett_z3950_FormatSpec
,
12462 &ett_z3950_GenericRecord
,
12463 &ett_z3950_TaggedElement
,
12464 &ett_z3950_ElementData
,
12465 &ett_z3950_SEQUENCE_OF_TaggedElement
,
12466 &ett_z3950_ElementMetaData
,
12467 &ett_z3950_SEQUENCE_OF_HitVector
,
12468 &ett_z3950_SEQUENCE_OF_Variant
,
12469 &ett_z3950_TagPath
,
12470 &ett_z3950_TagPath_item
,
12473 &ett_z3950_HitVector
,
12474 &ett_z3950_Variant
,
12475 &ett_z3950_T_triples
,
12476 &ett_z3950_T_triples_item
,
12477 &ett_z3950_T_variant_triples_item_value
,
12478 &ett_z3950_TaskPackage
,
12479 &ett_z3950_PromptObject
,
12480 &ett_z3950_Challenge
,
12481 &ett_z3950_Challenge_item
,
12482 &ett_z3950_T_promptInfo
,
12483 &ett_z3950_Response
,
12484 &ett_z3950_Response_item
,
12485 &ett_z3950_T_promptResponse
,
12486 &ett_z3950_PromptId
,
12487 &ett_z3950_T_enummeratedPrompt
,
12488 &ett_z3950_Encryption
,
12489 &ett_z3950_DES_RN_Object
,
12490 &ett_z3950_DRNType
,
12491 &ett_z3950_KRBObject
,
12492 &ett_z3950_KRBRequest
,
12493 &ett_z3950_KRBResponse
,
12494 &ett_z3950_SearchInfoReport
,
12495 &ett_z3950_SearchInfoReport_item
,
12496 &ett_z3950_ResultsByDB
,
12497 &ett_z3950_ResultsByDB_item
,
12498 &ett_z3950_T_databases
,
12499 &ett_z3950_QueryExpression
,
12500 &ett_z3950_T_queryExpression_term
,
12503 module_t
*z3950_module
;
12506 static ei_register_info ei
[] = {
12507 /* Z39.50 expert info */
12509 /* MARC expert info */
12510 { &ei_marc_invalid_length
, { "marc.invalid_length", PI_MALFORMED
, PI_ERROR
,
12511 "MARC record too short", EXPFILL
}},
12512 { &ei_marc_invalid_value
, { "marc.invalid_value", PI_MALFORMED
, PI_ERROR
,
12513 "MARC field has invalid value", EXPFILL
}},
12514 { &ei_marc_invalid_record_length
, { "marc.invalid_record_length", PI_MALFORMED
, PI_ERROR
,
12515 "MARC length field has invalid value", EXPFILL
}},
12518 expert_module_t
* expert_z3950
;
12521 /* Register protocol */
12522 proto_z3950
= proto_register_protocol(PNAME
, PSNAME
, PFNAME
);
12523 /* Register fields and subtrees */
12524 proto_register_field_array(proto_z3950
, hf
, array_length(hf
));
12525 proto_register_subtree_array(ett
, array_length(ett
));
12526 expert_z3950
= expert_register_protocol(proto_z3950
);
12527 expert_register_field_array(expert_z3950
, ei
, array_length(ei
));
12529 /* Register preferences */
12530 z3950_module
= prefs_register_protocol(proto_z3950
, NULL
);
12531 prefs_register_bool_preference(z3950_module
, "desegment_buffers",
12532 "Reassemble Z39.50 buffers spanning multiple TCP segments",
12533 "Whether the Z39.50 dissector should reassemble TDS buffers spanning multiple TCP segments. "
12534 "To use this option, you must also enable \"Allow subdissectors to reassemble TCP streams\" in the TCP protocol settings.",
12537 /* Allow dissector to be found by name. */
12538 z3950_handle
= register_dissector(PSNAME
, dissect_z3950_segment
,
12543 /*--- proto_reg_handoff_z3950 ---------------------------------------*/
12545 proto_reg_handoff_z3950(void)
12548 dissector_add_uint_with_preference("tcp.port",
12549 global_z3950_port
, z3950_handle
);
12551 register_ber_oid_dissector("1.2.840.10003.5.100", dissect_Explain_Record_PDU
, proto_z3950
, "Explain-record");
12552 register_ber_oid_dissector("1.2.840.10003.5.101", dissect_SutrsRecord_PDU
, proto_z3950
, "Sutrs-record");
12553 register_ber_oid_dissector("1.2.840.10003.5.102", dissect_OPACRecord_PDU
, proto_z3950
, "OPAC-record");
12554 register_ber_oid_dissector("1.2.840.10003.5.103", dissect_BriefBib_PDU
, proto_z3950
, "Summary-record");
12555 register_ber_oid_dissector("1.2.840.10003.5.105", dissect_GenericRecord_PDU
, proto_z3950
, "GRS-1-record");
12556 register_ber_oid_dissector("1.2.840.10003.5.106", dissect_TaskPackage_PDU
, proto_z3950
, "ESTaskPackage");
12557 register_ber_oid_dissector("1.2.840.10003.4.2", dissect_DiagnosticFormat_PDU
, proto_z3950
, "diag-1");
12558 register_ber_oid_dissector("1.2.840.10003.8.1", dissect_PromptObject_PDU
, proto_z3950
, "Prompt-1");
12559 register_ber_oid_dissector("1.2.840.10003.8.2", dissect_DES_RN_Object_PDU
, proto_z3950
, "DES-1");
12560 register_ber_oid_dissector("1.2.840.10003.8.3", dissect_KRBObject_PDU
, proto_z3950
, "KRB-1");
12561 register_ber_oid_dissector("1.2.840.10003.10.1", dissect_SearchInfoReport_PDU
, proto_z3950
, "SearchResult-1");
12562 register_ber_oid_dissector("1.2.840.10003.10.1000.17.1", dissect_OCLC_UserInformation_PDU
, proto_z3950
, "OCLC-UserInfo-1");
12565 register_ber_oid_dissector(Z3950_RECORDSYNTAX_MARC21_OID
, dissect_marc_record
, proto_z3950
, "MARC21");
12567 oid_add_from_string("Z39.50", "1.2.840.10003");
12568 oid_add_from_string("Z39.50-APDU", "1.2.840.10003.2");
12569 oid_add_from_string("Z39.50-attributeSet", "1.2.840.10003.3");
12570 oid_add_from_string("Z39.50-diagnostic", "1.2.840.10003.4");
12571 oid_add_from_string("Z39.50-recordSyntax", "1.2.840.10003.5");
12572 oid_add_from_string("Z39.50-resourceReport", "1.2.840.10003.7");
12573 oid_add_from_string("Z39.50-accessControl", "1.2.840.10003.8");
12574 oid_add_from_string("Z39.50-extendedService", "1.2.840.10003.9");
12575 oid_add_from_string("Z39.50-userinfoFormat", "1.2.840.10003.10");
12576 oid_add_from_string("Z39.50-elementSpec", "1.2.840.10003.11");
12577 oid_add_from_string("Z39.50-variantSet", "1.2.840.10003.12");
12578 oid_add_from_string("Z39.50-schema", "1.2.840.10003.13");
12579 oid_add_from_string("Z39.50-tagSet", "1.2.840.10003.14");
12580 oid_add_from_string("Z39.50-negotiation", "1.2.840.10003.15");
12581 oid_add_from_string("Z39.50-query", "1.2.840.10003.16");
12582 /* MARC Record Syntaxes */
12583 oid_add_from_string("UNIMARC","1.2.840.10003.5.1");
12584 oid_add_from_string("INTERMARC","1.2.840.10003.5.2");
12585 oid_add_from_string("CCF","1.2.840.10003.5.3");
12586 oid_add_from_string("MARC21 (formerly USMARC)",Z3950_RECORDSYNTAX_MARC21_OID
);
12587 oid_add_from_string("UKMARC","1.2.840.10003.5.11");
12588 oid_add_from_string("NORMARC","1.2.840.10003.5.12");
12589 oid_add_from_string("Librismarc","1.2.840.10003.5.13");
12590 oid_add_from_string("danMARC2","1.2.840.10003.5.14");
12591 oid_add_from_string("Finmarc","1.2.840.10003.5.15");
12592 oid_add_from_string("MAB","1.2.840.10003.5.16");
12593 oid_add_from_string("Canmarc","1.2.840.10003.5.17");
12594 oid_add_from_string("SBN","1.2.840.10003.5.18");
12595 oid_add_from_string("Picamarc","1.2.840.10003.5.19");
12596 oid_add_from_string("Ausmarc","1.2.840.10003.5.20");
12597 oid_add_from_string("Ibermarc","1.2.840.10003.5.21");
12598 oid_add_from_string("Catmarc","1.2.840.10003.5.22");
12599 oid_add_from_string("Malmarc","1.2.840.10003.5.23");
12600 oid_add_from_string("JPmarc","1.2.840.10003.5.24");
12601 oid_add_from_string("SWEMarc","1.2.840.10003.5.25");
12602 oid_add_from_string("SIGLEmarc","1.2.840.10003.5.26");
12603 oid_add_from_string("ISDS/ISSNmarc","1.2.840.10003.5.27");
12604 oid_add_from_string("RUSMarc","1.2.840.10003.5.28");
12605 oid_add_from_string("Hunmarc","1.2.840.10003.5.29");
12606 oid_add_from_string("NACSIS-CATP","1.2.840.10003.5.30");
12607 oid_add_from_string("FINMARC2000","1.2.840.10003.5.31");
12608 oid_add_from_string("MARC21-fin","1.2.840.10003.5.32");
12609 oid_add_from_string("COMARC","1.2.840.10003.5.33");
12610 /* Non-MARC record syntaxes */
12611 oid_add_from_string("Explain","1.2.840.10003.5.100");
12612 oid_add_from_string("Explain with ZSQL","1.2.840.10003.5.100.1");
12613 oid_add_from_string("SUTRS","1.2.840.10003.5.101");
12614 oid_add_from_string("OPAC","1.2.840.10003.5.102");
12615 oid_add_from_string("Summary","1.2.840.10003.5.103");
12616 oid_add_from_string("GRS-0","1.2.840.10003.5.104");
12617 oid_add_from_string("GRS-1","1.2.840.10003.5.105");
12618 oid_add_from_string("ESTaskPackage","1.2.840.10003.5.106");
12619 oid_add_from_string("fragment","1.2.840.10003.5.108");
12620 /* Attribute sets */
12621 oid_add_from_string("bib-1",Z3950_ATSET_BIB1_OID
);
12622 oid_add_from_string("exp-1","1.2.840.10003.3.2");
12623 oid_add_from_string("ext-1","1.2.840.10003.3.3");
12624 oid_add_from_string("ccl-1","1.2.840.10003.3.4");
12625 oid_add_from_string("gils","1.2.840.10003.3.5");
12626 oid_add_from_string("stas","1.2.840.10003.3.6");
12627 oid_add_from_string("collections-1","1.2.840.10003.3.7");
12628 oid_add_from_string("cimi-1","1.2.840.10003.3.8");
12629 oid_add_from_string("geo-1","1.2.840.10003.3.9");
12630 oid_add_from_string("ZBIG","1.2.840.10003.3.10");
12631 oid_add_from_string("util","1.2.840.10003.3.11");
12632 oid_add_from_string("xd-1","1.2.840.10003.3.12");
12633 oid_add_from_string("Zthes","1.2.840.10003.3.13");
12634 oid_add_from_string("Fin-1","1.2.840.10003.3.14");
12635 oid_add_from_string("Dan-1","1.2.840.10003.3.15");
12636 oid_add_from_string("Holdings","1.2.840.10003.3.16");
12637 oid_add_from_string("MARC","1.2.840.10003.3.17");
12638 oid_add_from_string("bib-2","1.2.840.10003.3.18");
12639 oid_add_from_string("ZeeRex","1.2.840.10003.3.19");
12640 /* Diagnostic sets */
12641 oid_add_from_string("bib-1-diagnostics",Z3950_DIAGSET_BIB1_OID
);
12645 /* MARC routines */
12648 dissect_marc_record(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*tree
, void * data _U_
)
12650 proto_item
*record_item
, *leader_item
,
12654 proto_tree
*marc_tree
, *leader_tree
,
12657 marc_directory_entry
*marc_directory
;
12658 unsigned len
= tvb_reported_length(tvb
);
12659 const uint8_t *marc_value_str
;
12660 unsigned record_length
= 0,
12662 length_of_field_size
,
12663 starting_character_position_size
,
12664 directory_entry_len
,
12665 directory_entry_count
,
12668 uint32_t marc_value_char
;
12670 record_item
= proto_tree_add_item(tree
, hf_marc_record
,
12671 tvb
, 0, len
, ENC_NA
);
12672 marc_tree
= proto_item_add_subtree(record_item
, ett_marc_record
);
12673 if (len
< MARC_LEADER_LENGTH
) {
12674 expert_add_info_format(pinfo
, record_item
,
12675 &ei_marc_invalid_record_length
,
12676 "MARC record length %d is shorter than leader", len
);
12678 leader_item
= proto_tree_add_item(marc_tree
, hf_marc_leader
, tvb
, 0,
12679 MARC_LEADER_LENGTH
, ENC_NA
);
12680 leader_tree
= proto_item_add_subtree(leader_item
, ett_marc_leader
);
12682 marc_value_str
= NULL
;
12683 item
= proto_tree_add_item_ret_string(leader_tree
,
12684 hf_marc_leader_length
, tvb
, offset
, 5, ENC_ASCII
|ENC_NA
,
12685 pinfo
->pool
,&marc_value_str
);
12688 if (marc_value_str
) {
12689 if (isdigit_string(marc_value_str
)) {
12690 record_length
= (unsigned)strtoul(marc_value_str
, NULL
, 10);
12693 expert_add_info_format(pinfo
, item
,
12694 &ei_marc_invalid_value
,
12695 "MARC length field '%s' contains invalid characters",
12698 if (record_length
!= len
) {
12699 expert_add_info_format(pinfo
, item
,
12700 &ei_marc_invalid_length
,
12701 "MARC length field value %d does not match reported length %d",
12702 record_length
, len
);
12706 proto_tree_add_item(leader_tree
, hf_marc_leader_status
, tvb
, offset
, 1, ENC_ASCII
);
12708 proto_tree_add_item(leader_tree
, hf_marc_leader_type
, tvb
, offset
, 1, ENC_ASCII
);
12710 proto_tree_add_item(leader_tree
, hf_marc_leader_biblevel
, tvb
, offset
, 1, ENC_ASCII
);
12712 proto_tree_add_item(leader_tree
, hf_marc_leader_control
, tvb
, offset
, 1, ENC_ASCII
);
12714 proto_tree_add_item(leader_tree
, hf_marc_leader_encoding
, tvb
, offset
, 1, ENC_ASCII
);
12716 marc_value_char
= MARC_CHAR_UNINITIALIZED
;
12717 item
= proto_tree_add_item_ret_uint(leader_tree
, hf_marc_leader_indicator_count
,
12718 tvb
, offset
, 1, ENC_ASCII
, &marc_value_char
);
12720 if (marc_value_char
!= MARC_CHAR_UNINITIALIZED
) {
12721 if (!marc_isdigit(marc_value_char
)) {
12722 expert_add_info_format(pinfo
, item
, &ei_marc_invalid_value
,
12723 "Indicator count '%c' is invalid", marc_value_char
);
12726 if (marc_char_to_int(marc_value_char
) != 2) {
12727 expert_add_info_format(pinfo
, item
, &ei_marc_invalid_length
,
12728 "MARC21 requires indicator count equal 2, not %d",
12729 marc_char_to_int(marc_value_char
));
12734 marc_value_char
= MARC_CHAR_UNINITIALIZED
;
12735 item
= proto_tree_add_item_ret_uint(leader_tree
, hf_marc_leader_subfield_count
,
12736 tvb
, offset
, 1, ENC_ASCII
, &marc_value_char
);
12738 if (marc_value_char
!= MARC_CHAR_UNINITIALIZED
) {
12739 if (!marc_isdigit(marc_value_char
)) {
12740 expert_add_info_format(pinfo
, item
, &ei_marc_invalid_value
,
12741 "Subfield count '%c' is invalid", marc_value_char
);
12744 if (marc_char_to_int(marc_value_char
) != 2) {
12745 expert_add_info_format(pinfo
, item
, &ei_marc_invalid_length
,
12746 "MARC21 requires subfield count equal 2, not %d",
12747 marc_char_to_int(marc_value_char
));
12752 item
= proto_tree_add_item_ret_string(leader_tree
, hf_marc_leader_data_offset
,
12753 tvb
, offset
, 5, ENC_ASCII
|ENC_NA
,
12754 pinfo
->pool
,&marc_value_str
);
12756 if (marc_value_str
) {
12757 if (isdigit_string(marc_value_str
)) {
12758 data_offset
= (unsigned)strtoul(marc_value_str
, NULL
, 10);
12761 expert_add_info_format(pinfo
, item
,
12762 &ei_marc_invalid_value
,
12763 "MARC data offset field '%s' contains invalid characters",
12766 if (data_offset
< MARC_LEADER_LENGTH
||
12767 data_offset
> record_length
) {
12768 expert_add_info_format(pinfo
, item
,
12769 &ei_marc_invalid_length
,
12770 "MARC data offset %d does not lie within record (length %d)",
12774 proto_tree_add_item(leader_tree
, hf_marc_leader_encoding_level
, tvb
, offset
, 1, ENC_ASCII
);
12776 proto_tree_add_item(leader_tree
, hf_marc_leader_descriptive_cataloging
, tvb
, offset
, 1, ENC_ASCII
);
12778 proto_tree_add_item(leader_tree
, hf_marc_leader_multipart_level
, tvb
, offset
, 1, ENC_ASCII
);
12780 marc_value_char
= MARC_CHAR_UNINITIALIZED
;
12781 item
= proto_tree_add_item_ret_uint(leader_tree
, hf_marc_leader_length_of_field_length
,
12782 tvb
, offset
, 1, ENC_ASCII
, &marc_value_char
);
12784 length_of_field_size
= 4;
12785 if (marc_value_char
!= MARC_CHAR_UNINITIALIZED
) {
12786 if (!marc_isdigit(marc_value_char
)) {
12787 expert_add_info_format(pinfo
, item
, &ei_marc_invalid_value
,
12788 "Length-of field-length '%c' is invalid", marc_value_char
);
12791 if (marc_char_to_int(marc_value_char
) != 4) {
12792 expert_add_info_format(pinfo
, item
, &ei_marc_invalid_length
,
12793 "MARC21 requires length-of-field equal 4, not %d",
12794 marc_char_to_int(marc_value_char
));
12799 marc_value_char
= MARC_CHAR_UNINITIALIZED
;
12800 item
= proto_tree_add_item_ret_uint(leader_tree
, hf_marc_leader_starting_character_position_length
,
12801 tvb
, offset
, 1, ENC_ASCII
, &marc_value_char
);
12803 starting_character_position_size
= 5;
12804 if (marc_value_char
!= MARC_CHAR_UNINITIALIZED
) {
12805 if (!marc_isdigit(marc_value_char
)) {
12806 expert_add_info_format(pinfo
, item
, &ei_marc_invalid_value
,
12807 "Starting-character-position length '%c' is invalid", marc_value_char
);
12810 if (marc_char_to_int(marc_value_char
) != 5) {
12811 expert_add_info_format(pinfo
, item
, &ei_marc_invalid_length
,
12812 "MARC21 requires starting-character-position equal 5, not %d",
12813 marc_char_to_int(marc_value_char
));
12818 proto_tree_add_item(leader_tree
, hf_marc_leader_implementation_defined_length
, tvb
, offset
, 1, ENC_ASCII
);
12821 /* One position is defined as unused-must-be-zero.
12822 * Don't bother displaying or checking it. */
12825 /* Process the directory */
12827 directory_entry_len
= 3 + length_of_field_size
12828 + starting_character_position_size
;
12829 directory_entry_count
= ((data_offset
- 1) - MARC_LEADER_LENGTH
) / directory_entry_len
;
12831 marc_directory
= (marc_directory_entry
*)wmem_alloc0(pinfo
->pool
,
12832 directory_entry_count
* sizeof(marc_directory_entry
));
12834 directory_item
= proto_tree_add_item(marc_tree
, hf_marc_directory
,
12835 tvb
, offset
, data_offset
- offset
, ENC_NA
);
12836 directory_tree
= proto_item_add_subtree(directory_item
, ett_marc_directory
);
12839 /* Minus one for the terminator character */
12840 while (offset
< (data_offset
- 1)) {
12841 uint32_t tag_value
= 0,
12843 starting_char_value
= 0;
12844 proto_item
*length_item
;
12845 proto_item
*directory_entry_item
;
12846 proto_tree
*directory_entry_tree
;
12848 directory_entry_item
= proto_tree_add_item(directory_tree
, hf_marc_directory_entry
,
12849 tvb
, offset
, directory_entry_len
, ENC_NA
);
12850 directory_entry_tree
= proto_item_add_subtree(directory_entry_item
, ett_marc_directory_entry
);
12852 marc_value_str
= NULL
;
12853 item
= proto_tree_add_item_ret_string(directory_entry_tree
, hf_marc_directory_entry_tag
,
12854 tvb
, offset
, 3, ENC_ASCII
,
12855 pinfo
->pool
, &marc_value_str
);
12857 if (marc_value_str
) {
12858 if (isdigit_string(marc_value_str
)) {
12859 tag_value
= (unsigned)strtoul(marc_value_str
, NULL
, 10);
12862 expert_add_info_format(pinfo
, item
,
12863 &ei_marc_invalid_value
,
12864 "MARC directory tag value %d ('%s') contains invalid characters",
12865 dir_index
, marc_value_str
);
12868 marc_value_str
= NULL
;
12869 length_item
= proto_tree_add_item_ret_string(directory_entry_tree
,
12870 hf_marc_directory_entry_length
,
12871 tvb
, offset
, length_of_field_size
, ENC_ASCII
,
12872 pinfo
->pool
, &marc_value_str
);
12873 offset
+= length_of_field_size
;
12874 if (marc_value_str
) {
12875 if (isdigit_string(marc_value_str
)) {
12876 length_value
= (unsigned)strtoul(marc_value_str
, NULL
, 10);
12879 expert_add_info_format(pinfo
, length_item
,
12880 &ei_marc_invalid_value
,
12881 "MARC directory length value %d ('%s') contains invalid characters",
12882 dir_index
, marc_value_str
);
12885 marc_value_str
= NULL
;
12886 item
= proto_tree_add_item_ret_string(directory_entry_tree
, hf_marc_directory_entry_starting_position
,
12887 tvb
, offset
, starting_character_position_size
, ENC_ASCII
,
12888 pinfo
->pool
, &marc_value_str
);
12889 offset
+= starting_character_position_size
;
12890 if (marc_value_str
) {
12891 if (isdigit_string(marc_value_str
)) {
12892 starting_char_value
= (unsigned)strtoul(marc_value_str
, NULL
, 10);
12895 expert_add_info_format(pinfo
, item
,
12896 &ei_marc_invalid_value
,
12897 "MARC directory entry %d starting char value '%s' contains invalid characters",
12898 dir_index
, marc_value_str
);
12902 if (starting_char_value
>= (record_length
- data_offset
)) {
12903 expert_add_info_format(pinfo
, item
,
12904 &ei_marc_invalid_value
,
12905 "MARC directory entry %d starting char value %d is outside record size %d",
12906 dir_index
, starting_char_value
, (record_length
- data_offset
));
12908 if ((starting_char_value
+ length_value
) >= (record_length
- data_offset
)) {
12909 expert_add_info_format(pinfo
, length_item
,
12910 &ei_marc_invalid_value
,
12911 "MARC directory entry %d length value %d goes outside record size %d",
12912 dir_index
, length_value
, (record_length
- data_offset
));
12914 marc_directory
[dir_index
].tag
= tag_value
;
12915 marc_directory
[dir_index
].length
= length_value
;
12916 marc_directory
[dir_index
].starting_character
= starting_char_value
;
12919 proto_tree_add_item(directory_tree
, hf_marc_directory_terminator
,
12920 tvb
, offset
, 1, ENC_ASCII
);
12923 fields_item
= proto_tree_add_item(marc_tree
, hf_marc_fields
,
12924 tvb
, offset
, record_length
- offset
, ENC_NA
);
12925 fields_tree
= proto_item_add_subtree(fields_item
, ett_marc_fields
);
12927 for (dir_index
= 0; dir_index
< directory_entry_count
; dir_index
++) {
12928 const char *tag_str
;
12929 proto_item
*field_item
;
12930 proto_tree
*field_tree
;
12932 field_item
= proto_tree_add_item(fields_tree
, hf_marc_field
,
12933 tvb
, offset
, marc_directory
[dir_index
].length
, ENC_NA
);
12934 field_tree
= proto_item_add_subtree(field_item
, ett_marc_field
);
12936 tag_str
= try_val_to_str(marc_directory
[dir_index
].tag
, marc_tag_names
);
12938 proto_item_append_text(field_item
," Tag %03d (%s)",
12939 marc_directory
[dir_index
].tag
, tag_str
);
12942 proto_item_append_text(field_item
," Tag %03d",
12943 marc_directory
[dir_index
].tag
);
12946 if (marc_directory
[dir_index
].tag
< 10) {
12947 proto_tree_add_item(field_tree
, hf_marc_field_control
,
12948 tvb
, offset
, marc_directory
[dir_index
].length
- 1, ENC_ASCII
);
12949 offset
+= marc_directory
[dir_index
].length
- 1;
12950 proto_tree_add_item(field_tree
, hf_marc_field_terminator
,
12951 tvb
, offset
, 1, ENC_ASCII
);
12955 unsigned next_offset
= offset
+ marc_directory
[dir_index
].length
- 1;
12956 proto_tree_add_item(field_tree
, hf_marc_field_indicator1
,
12957 tvb
, offset
, 1, ENC_ASCII
);
12959 proto_tree_add_item(field_tree
, hf_marc_field_indicator2
,
12960 tvb
, offset
, 1, ENC_ASCII
);
12964 proto_tree_add_item(field_tree
, hf_marc_field_subfield_indicator
,
12965 tvb
, offset
, 1, ENC_ASCII
);
12967 proto_tree_add_item(field_tree
, hf_marc_field_subfield_tag
,
12968 tvb
, offset
, 1, ENC_ASCII
);
12970 next_subfield
= tvb_find_uint8(tvb
, offset
, next_offset
- offset
,
12971 MARC_SUBFIELD_INDICATOR
);
12972 if (next_subfield
>= 0) {
12973 proto_tree_add_item(field_tree
, hf_marc_field_subfield
,
12974 tvb
, offset
, next_subfield
- offset
, ENC_ASCII
);
12975 offset
+= (next_subfield
- offset
);
12978 proto_tree_add_item(field_tree
, hf_marc_field_subfield
,
12979 tvb
, offset
, next_offset
- offset
, ENC_ASCII
);
12980 offset
= next_offset
;
12982 } while (offset
< next_offset
);
12983 proto_tree_add_item(field_tree
, hf_marc_field_terminator
,
12984 tvb
, offset
, 1, ENC_ASCII
);
12989 proto_tree_add_item(marc_tree
, hf_marc_record_terminator
,
12990 tvb
, offset
, 1, ENC_ASCII
);
12993 if (offset
!= len
) {
12994 expert_add_info_format(pinfo
, record_item
,
12995 &ei_marc_invalid_record_length
,
12996 "MARC record component length %d does not match record length %d",
13007 * c-basic-offset: 4
13009 * indent-tabs-mode: nil
13012 * ex: set shiftwidth=4 tabstop=8 expandtab:
13013 * :indentSize=4:tabSize=8:noTabs=true: