Fix sample PQF
[yaz-moved-to-github.git] / z39.50 / z.tcl
1 # YC Sample Config File for Z39.50
2 # $Id: z.tcl,v 1.12 2003-07-18 19:53:28 mike Exp $
3 # ----------------------------------------------------------
4 # Prefix Specifications
5 #  
6 #    1: C function prefix
7 #    2: C type prefix
8 #    3: C preprocessor prefix
9
10 # Default prefix
11 set default-prefix {z_ Z_ Z_}
12
13 # Name clash in extended services (TargetPart, OriginPartToKeep, etc)
14 # You can possibly think of better names :)
15 set prefix(ESFormat-PersistentResultSet) {z_PR Z_PR Z_PR}
16 set prefix(ESFormat-PersistentQuery) {z_PQuery Z_PQuery Z_PQuery}
17 set prefix(ESFormat-PeriodicQuerySchedule) {z_PQS Z_PQS Z_PQS}
18 set prefix(ESFormat-ItemOrder) {z_IO Z_IO Z_IO}
19 set prefix(ESFormat-Update0) {z_IU0 Z_IU0 Z_IU0}
20 set prefix(ESFormat-Update) {z_IU Z_IU Z_IU}
21 set prefix(ESFormat-ExportSpecification) {z_ES Z_ES Z_ES}
22 set prefix(ESFormat-ExportInvocation) {z_EI Z_EI Z_EI}
23
24 # ----------------------------------------------------------
25 # Settings for core of the protocol
26 set m Z39-50-APDU-1995
27
28 # Filename
29 set filename($m) z-core
30
31 # Public header initialization code
32 set init($m,h) {
33 typedef struct Z_External Z_External;
34 YAZ_EXPORT int z_External(ODR o, Z_External **p, int opt, const char *name);
35 }
36
37 set body($m,h) "
38 #ifdef __cplusplus
39 extern \"C\" \{
40 #endif
41
42 int z_ANY_type_0 (ODR o, void **p, int opt);
43
44 #ifdef __cplusplus
45 \}
46 #endif
47 "
48 set body($m,c) {
49
50 /* the type-0 query ... */
51 int z_ANY_type_0 (ODR o, void **p, int opt)
52 {
53     return 0;
54 }
55
56 }
57
58 # Type Name overrides
59 set map($m,PDU) APDU
60 set membermap($m,Operator,and) {Operator_and op_and}
61 set membermap($m,Operator,or) {Operator_or op_or}
62 #set membermap($m,Operator,and-not) {Operator_and_not op_and_not}
63 set map($m,AttributeElement_complex) ComplexAttribute
64 set map($m,DeleteSetStatus) DeleteStatus
65 set membermap($m,ProximityOperator,private) {ProximityOperator_private zprivate}
66 set unionmap($m,AttributeElement,attributeValue) {which value AttributeValue}
67 set membermap($m,ElementSpec,externalEspec) externalSpec
68 set membermap($m,RPNStructure,op) simple
69 set membermap($m,RPNStructure,rpnRpnOp) complex
70 set map($m,RPNStructure_complex) Complex
71 set membermap($m,Operand,attrTerm) {Operand_APT attributesPlusTerm}
72 set membermap($m,Operand,resultSet) {Operand_resultSetId resultSetId}
73 set membermap($m,Operand,resultAttr) {Operand_resultAttr resultAttr}
74 set membermap($m,Complex,rpn1) s1
75 set membermap($m,Complex,rpn2) s2
76 set membermap($m,Complex,op) roperator
77 set membermap($m,RPNQuery,attributeSet) attributeSetId
78 set membermap($m,RPNQuery,rpn) RPNStructure
79 set map($m,KnownProximityUnit) ProxUnit
80 set membermap($m,ProximityOperator,lessThan) {Prox_lessThan 1}
81 set membermap($m,ProximityOperator,lessThanOrEqual) {Prox_lessThanOrEqual 1}
82 set membermap($m,ProximityOperator,equal) {Prox_equal 1}
83 set membermap($m,ProximityOperator,greaterThanOrEqual) {Prox_greaterThanOrEqual 1}
84 set membermap($m,ProximityOperator,greaterThan) {Prox_greaterThan 1}
85 set membermap($m,ProximityOperator,notEqual) {Prox_notEqual 1}
86 #
87 set membermap($m,Records,responseRecords) {Records_DBOSD databaseOrSurDiagnostics}
88 set membermap($m,Records,nonSurrogateDiagnostic) {Records_NSD nonSurrogateDiagnostic}
89 set membermap($m,Records,multipleNonSurDiagnostics) {Records_multipleNSD multipleNonSurDiagnostics}
90 set map($m,Records_DBOSD) NamePlusRecordList
91 set map($m,Records_NSD) DiagRec
92 set map($m,Records_multipleNSD) DiagRecs
93 set membermap($m,NamePlusRecord,name) databaseName
94 set unionmap($m,DiagRecs) {num_diagRecs diagRecs}
95 set unionmap($m,NamePlusRecordList) {num_records records}
96 #
97 set membermap($m,ElementSetNames,genericElementSetName) generic
98 set map($m,ElementSetNames_databaseSpecific) DatabaseSpecific
99 #
100 set map($m,OccurrenceByAttributes_s) OccurrenceByAttributesElem
101 set map($m,OccurrenceByAttributesElem_byDatabase) byDatabaseList
102 #
103 set membermap($m,SortElement,datbaseSpecific) databaseSpecific
104 set map($m,SortElement_databaseSpecific) SortDbSpecificList
105 #
106 set map($m,SortKey_sortAttributes) SortAttributes
107 set unionmap($m,PresentRequest,recordComposition) {}
108 set map($m,PresentRequest_0) RecordComposition
109 set unionmap($m,PresentRequest,additionalRanges) {num_ranges additionalRanges}
110 set unionmap($m,SortRequest,sortSequence) {}
111 set map($m,SortRequest_0) SortKeySpecList
112 set unionmap($m,SortKeySpecList) {num_specs specs}
113 set map($m,InitializeRequest) InitRequest
114 set map($m,InitializeResponse) InitResponse
115 set unionmap($m,CloseReason) Close
116 set membermap($m,ProtocolVersion,version-1) 1
117 set membermap($m,ProtocolVersion,version-2) 2
118 set membermap($m,ProtocolVersion,version-3) 3
119 set membermap($m,InitRequest,exceptionalRecordSize) maximumRecordSize
120 set membermap($m,InitResponse,exceptionalRecordSize) maximumRecordSize
121 set map($m,RecordsMultipleNonSurDiagnostics) DiagRecs
122 set map($m,RecordsDatabaseOrSurDiagnostics) NamePlusRecordList
123 set membermap($m,NamePlusRecord,retrievalRecord) databaseRecord
124 set unionmap($m,RecordComposition) {which u RecordComp}
125 set unionmap($m,ScanResponse,scanStatus) Scan
126 set unionmap($m,AttributeList) {num_attributes attributes}
127 set membermap($m,SortKey,sortfield) sortField
128 set map($m,CompSpec_0) DbSpecific
129 set map($m,DatabaseSpecific_s) DatabaseSpecificUnit
130 set map($m,ListStatuses_s) ListStatus
131 set map($m,IdAuthenticationIdPass) IdPass
132 set map($m,OtherInformation_s) OtherInformationUnit
133 set unionmap($m,OtherInformationUnit,information) {which information OtherInfo}
134 set unionmap($m,OtherInformation) {num_elements list}
135 set unionmap($m,Specification,elementSpec) {}
136 set map($m,Specification_0) ElementSpec
137 set unionmap($m,Specification,schema) {which schema Schema}
138
139 # ----
140 set m DiagnosticFormatDiag1
141 set filename($m) z-diag1
142 set map($m,DiagFormat_tooMany) TooMany
143 set map($m,DiagFormat_badSpec) BadSpec
144 set map($m,DiagFormat_dbUnavail) DbUnavail
145 set map($m,DiagFormat_attribute) Attribute
146 set map($m,DiagFormat_attCombo) AttCombo
147 set map($m,DiagFormat_term) DiagTerm
148 set map($m,DiagFormat_proximity) Proximity
149 set map($m,DiagFormat_scan) Scan
150 set map($m,DiagFormat_sort) Sort
151 set unionmap($m,Sort) {which u SortD}
152 set map($m,DiagFormat_segmentation) Segmentation
153 set map($m,DiagFormat_extServices) ExtServices
154 set map($m,DiagFormat_accessCtrl) AccessCtrl
155 set map($m,DiagFormat_recordSyntax) RecordSyntax
156 #
157 set map($m,Scan_termList2) AttrListList
158 set map($m,Sort_inputTooLarge) StringList
159 #
160 set map($m,AccessCtrl_oid) OidList
161 set map($m,AccessCtrl_alternative) AltOidList
162 # ----
163 set m RecordSyntax-explain
164 set filename($m) z-exp
165 set map($m,Explain-Record) ExplainRecord
166 set map($m,ElementDataType_structured) ElementInfoList
167 set map($m,HumanString_s) HumanStringUnit
168 set unionmap($m,HumanString) {num_strings strings}
169 set membermap($m,CommonInfo,humanString-Language) humanStringLanguage
170 set unionmap($m,AttributeOccurrence,attributeValues) {which attributeValues AttributeOcc}
171 set unionmap($m,AttributeCombination) {num_occurrences occurrences}
172 #
173 set membermap($m,NetworkAddress,internetAddress) {NetworkAddress_iA internetAddress}
174 set map($m,NetworkAddress_iA) NetworkAddressIA
175 set membermap($m,NetworkAddress,osiPresentationAddress) {NetworkAddress_oPA osiPresentationAddress}
176 set map($m,NetworkAddress_oPA) NetworkAddressOPA
177 set map($m,NetworkAddress_other) NetworkAddressOther
178 set unionmap($m,DatabaseList) {num_databases databases}
179 set membermap($m,TargetInfo,recent-news) recentNews
180 set membermap($m,TargetInfo,usage-restrictions) usageRest
181 set membermap($m,DatabaseInfo,user-fee) userFee
182 #
183 set map($m,ProximitySupport_0) ProxSupportUnit
184 set map($m,ProxSupportUnitZprivate) ProxSupportPrivate
185 set membermap($m,ProxSupportUnit,private) {ProxSupportUnit_private zprivate}
186 #
187 set map($m,AttributeOccurrence_specific) AttributeValueList
188 set unionmap($m,AttributeValueList) {num_attributes attributes}
189
190 set unionmap($m,ExplainRecord) {which u Explain}
191 set map($m,SchemaInfo_0) TagTypeMapping
192 set map($m,TagSetInfo_0) TagSetElements
193 set map($m,TermListInfo_0) TermListElement
194 set map($m,TermListDetails_0) EScanInfo
195 set map($m,PrivateCapabilities_0) PrivateCapOperator
196 set map($m,Costs_0) CostsOtherCharge
197 set map($m,Path_s) PathUnit
198 set map($m,IconObject_s) IconObjectUnit
199 set map($m,NetworkAddressInternetAddress) NetworkAddressIA
200 set map($m,NetworkAddressOsiPresentationAddress) NetworkAddressOPA
201 set membermap($m,QueryTypeDetails,private) {QueryTypeDetails_private zprivate}
202 set membermap($m,PrivateCapOperator,operator) roperator
203 set map($m,AccessRestrictions_s) AccessRestrictionsUnit
204 # ----
205 set m RecordSyntax-SUTRS
206 set filename($m) z-sutrs
207 #set map($m,SutrsRecord) SUTRS
208 set body($m,c) {
209 int z_SUTRS (ODR o, Odr_oct **p, int opt, const char *name)
210 {
211     return odr_implicit_tag(o, odr_octetstring, p, ODR_UNIVERSAL,
212         ODR_GENERALSTRING, opt, name);
213 }
214 }
215
216 set init($m,h) {
217 typedef Odr_oct Z_SUTRS;
218 YAZ_EXPORT int z_SUTRS (ODR o, Odr_oct **p, int opt, const char *name);
219 }
220 # ----
221 set m RecordSyntax-opac
222 set filename($m) z-opac
223 # ----
224 set m RecordSyntax-summary
225 set filename($m) z-sum
226 # ----
227 set m RecordSyntax-generic
228 set filename($m) z-grs
229 set map($m,ElementData_subtree) GenericRecord
230 set map($m,Variant_0) Triple
231 set membermap($m,Triple,class) zclass
232 set unionmap($m,Triple,value) {which value Triple}
233 set unionmap($m,GenericRecord) {num_elements elements}
234 # ----
235 set m RecordSyntax-ESTaskPackage
236 set filename($m) z-estask
237 # ----
238 set m ResourceReport-Format-Resource-1
239 set filename($m) z-rrf1
240 set map($m,ResourceReport) ResourceReport1
241 set map($m,Estimate) Estimate1
242 # ----
243 set m ResourceReport-Format-Resource-2
244 set filename($m) z-rrf2
245 set map($m,ResourceReport) ResourceReport2
246 set map($m,Estimate) Estimate2
247 # ----
248 set m AccessControlFormat-prompt-1
249 set filename($m) z-accform1
250 set membermap($m,PromptId,enummeratedPrompt) enumeratedPrompt 
251 set map($m,PromptObject) PromptObject1
252 set map($m,Challenge) Challenge1
253 set map($m,Challenge1_s) ChallengeUnit1
254 set map($m,Response) Response1
255 set map($m,Response1_s) ResponseUnit1
256 set map($m,PromptObject) PromptObject1
257 # ----
258 set m AccessControlFormat-des-1
259 set filename($m) z-accdes1
260 # ----
261 set m AccessControlFormat-krb-1
262 set filename($m) z-acckrb1
263 # ----
264 set m ESFormat-PersistentResultSet
265 set filename($m) zes-pset
266 # ----
267 set m ESFormat-PersistentQuery
268 set filename($m) zes-pquery
269 # ----
270 set m ESFormat-PeriodicQuerySchedule 
271 set filename($m) zes-psched
272 # ----
273 set m ESFormat-ItemOrder
274 set filename($m) zes-order
275 set map($m,ItemOrderEsRequest) Request
276 set map($m,ItemOrderTaskPackage) TaskPackage
277 set map($m,OriginPartToKeep_0) Contact
278 set map($m,OriginPartToKeep_1) Billing
279 set map($m,OriginPartNotToKeep_0) ResultSetItem
280 #
281 # ---- (old version)
282 set m ESFormat-Update0
283 set filename($m) zes-update0
284 set map($m,SuppliedRecords_s) SuppliedRecords_elem
285 set map($m,SuppliedRecords_elem_0) SuppliedRecordsId
286 #
287 # ---- (new, current version)
288 set m ESFormat-Update
289 set filename($m) zes-update
290 set map($m,SuppliedRecords_s) SuppliedRecords_elem
291 set map($m,SuppliedRecords_elem_0) SuppliedRecordsId
292 # ----
293 set m ESFormat-ExportSpecification
294 set filename($m) zes-exps
295 # ----
296 set m ESFormat-ExportInvocation
297 set filename($m) zes-expi
298 # ----
299 set m UserInfoFormat-searchResult-1
300 set filename($m) z-uifr1
301 # ----
302 set m ElementSpecificationFormat-eSpec-1
303 set filename($m) z-espec1
304 set map($m,Espec-1) Espec1
305 set map($m,TagPath) ETagPath
306 set map($m,ETagPath_s) ETagUnit
307 set map($m,ETagUnitSpecificTag) SpecificTag
308 set membermap($m,SpecificTag,occurrence) occurrences
309 set unionmap($m,ElementRequest) {which u ERequest}
310 set unionmap($m,ETagPath) {num_tags tags}
311 set map($m,OccurrencesValues) OccurValues
312 # ----
313 set m UserInfoFormat-dateTime
314 set filename($m) z-date
315 set map($m,Z3950Date) Date
316 set map($m,Z3950Time) Time
317 set unionmap($m,Z3950Date,era) {}
318 set map($m,DateFlags_0) Era
319 set map($m,Z3950DateMonthAndDay) MonthAndDay
320 set map($m,Z3950DateQuarter) DateQuater
321 set map($m,Z3950DateSeason) DateSeason
322 set map($m,Date_0) DateFlags
323 set unionmap($m,DateFlags,era) {}
324 # ----
325 set m UserInfoFormat-multipleSearchTerms-2
326 set filename($m) z-mterm2
327 # ----
328 set m ResourceReport-Format-Universe-1 
329 set filename($m) z-univ
330 # ----
331 set m UserInfoFormat-oclcUserInformation
332 set filename($m) z-oclcui
333 # ----
334 set m ESFormat-Admin
335 set filename($m) zes-admin
336 set map($m,EsRequest) ESAdminRequest
337 set map($m,TaskPackage) ESAdminTaskPackage
338 set map($m,OriginPartToKeep) ESAdminOriginPartToKeep
339 set map($m,OriginPartNotToKeep) ESAdminOriginPartNotToKeep
340 set map($m,TargetPart) ESAdminTargetPart
341 # ----
342 set m NegotiationRecordDefinition-charSetandLanguageNegotiation-3
343 set filename($m) z-charneg
344 set membermap($m,OriginProposal_0,private) {OriginProposal_0_private zprivate}
345 set membermap($m,TargetResponse,private) {TargetResponse_private zprivate}
346 # ----------------------------------------------------------
347 # "Constructed" types defined by means of C-types are declared here.
348 # Each function returns the C-handler and the C-type.
349 proc asnBasicEXTERNAL {} {
350     return {z_External Z_External}
351 }