Header files moved to include (used to be z39.50).
[yaz-moved-to-github.git] / z39.50 / z.tcl
1 # YC Sample Config File for Z39.50
2 # $Id: z.tcl,v 1.1 1999-06-08 10:10:16 adam 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 map($m,AttributeElement_complex) ComplexAttribute
61 set map($m,DeleteSetStatus) DeleteStatus
62 set membermap($m,ProximityOperator,private) {ProximityOperator_private zprivate}
63 set unionmap($m,AttributeElement,attributeValue) {which value AttributeValue}
64 set membermap($m,ElementSpec,externalEspec) externalSpec
65 set membermap($m,RPNStructure,op) simple
66 set membermap($m,RPNStructure,rpnRpnOp) complex
67 set map($m,RPNStructure_complex) Complex
68 set membermap($m,Operand,attrTerm) {Operand_APT attributesPlusTerm}
69 set membermap($m,Operand,resultSet) {Operand_resultSetId resultSetId}
70 set membermap($m,Operand,resultAttr) {Operand_resultAttr resultAttr}
71 set membermap($m,Complex,rpn1) s1
72 set membermap($m,Complex,rpn2) s2
73 set membermap($m,Complex,op) roperator
74 set membermap($m,RPNQuery,attributeSet) attributeSetId
75 set membermap($m,RPNQuery,rpn) RPNStructure
76 set map($m,KnownProximityUnit) ProxUnit
77 set membermap($m,ProximityOperator,lessThan) {Prox_lessThan 1}
78 set membermap($m,ProximityOperator,lessThanOrEqual) {Prox_lessThanOrEqual 1}
79 set membermap($m,ProximityOperator,equal) {Prox_equal 1}
80 set membermap($m,ProximityOperator,greaterThanOrEqual) {Prox_greaterThanOrEqual 1}
81 set membermap($m,ProximityOperator,greaterThan) {Prox_greaterThan 1}
82 set membermap($m,ProximityOperator,notEqual) {Prox_notEqual 1}
83 #
84 set membermap($m,Records,responseRecords) {Records_DBOSD databaseOrSurDiagnostics}
85 set membermap($m,Records,nonSurrogateDiagnostic) {Records_NSD nonSurrogateDiagnostic}
86 set membermap($m,Records,multipleNonSurDiagnostics) {Records_multipleNSD multipleNonSurDiagnostics}
87 set map($m,Records_DBOSD) NamePlusRecordList
88 set map($m,Records_NSD) DiagRec
89 set map($m,Records_multipleNSD) DiagRecs
90 set membermap($m,NamePlusRecord,name) databaseName
91 set unionmap($m,DiagRecs) {num_diagRecs diagRecs}
92 set unionmap($m,NamePlusRecordList) {num_records records}
93 #
94 set membermap($m,ElementSetNames,genericElementSetName) generic
95 set map($m,ElementSetNames_databaseSpecific) DatabaseSpecific
96 #
97 set map($m,OccurrenceByAttributes_s) OccurrenceByAttributesElem
98 set map($m,OccurrenceByAttributesElem_byDatabase) byDatabaseList
99 #
100 set membermap($m,SortElement,datbaseSpecific) databaseSpecific
101 set map($m,SortElement_databaseSpecific) SortDbSpecificList
102 #
103 set map($m,SortKey_sortAttributes) SortAttributes
104 set unionmap($m,PresentRequest,recordComposition) {}
105 set map($m,PresentRequest_0) RecordComposition
106 set unionmap($m,PresentRequest,additionalRanges) {num_ranges additionalRanges}
107 set unionmap($m,SortRequest,sortSequence) {}
108 set map($m,SortRequest_0) SortKeySpecList
109 set unionmap($m,SortKeySpecList) {num_specs specs}
110 set map($m,InitializeRequest) InitRequest
111 set map($m,InitializeResponse) InitResponse
112 set unionmap($m,CloseReason) Close
113 set membermap($m,ProtocolVersion,version-1) 1
114 set membermap($m,ProtocolVersion,version-2) 2
115 set membermap($m,ProtocolVersion,version-3) 3
116 set membermap($m,InitRequest,exceptionalRecordSize) maximumRecordSize
117 set membermap($m,InitResponse,exceptionalRecordSize) maximumRecordSize
118 set map($m,RecordsMultipleNonSurDiagnostics) DiagRecs
119 set map($m,RecordsDatabaseOrSurDiagnostics) NamePlusRecordList
120 set membermap($m,NamePlusRecord,retrievalRecord) databaseRecord
121 set unionmap($m,RecordComposition) {which u RecordComp}
122 set unionmap($m,ScanResponse,scanStatus) Scan
123 set unionmap($m,AttributeList) {num_attributes attributes}
124 set membermap($m,SortKey,sortfield) sortField
125 set map($m,CompSpec_0) DbSpecific
126 set map($m,DatabaseSpecific_s) DatabaseSpecificUnit
127 set map($m,ListStatuses_s) ListStatus
128 set map($m,IdAuthenticationIdPass) IdPass
129 set map($m,OtherInformation_s) OtherInformationUnit
130 set unionmap($m,OtherInformationUnit,information) {which information OtherInfo}
131 set unionmap($m,OtherInformation) {num_elements list}
132 set unionmap($m,Specification,elementSpec) {}
133 set map($m,Specification_0) ElementSpec
134
135 # ----
136 set m DiagnosticFormatDiag1
137 set filename($m) z-diag1
138 set map($m,DiagFormat_tooMany) TooMany
139 set map($m,DiagFormat_badSpec) BadSpec
140 set map($m,DiagFormat_dbUnavail) DbUnavail
141 set map($m,DiagFormat_attribute) Attribute
142 set map($m,DiagFormat_attCombo) AttCombo
143 set map($m,DiagFormat_term) DiagTerm
144 set map($m,DiagFormat_proximity) Proximity
145 set map($m,DiagFormat_scan) Scan
146 set map($m,DiagFormat_sort) Sort
147 set unionmap($m,Sort) {which u SortD}
148 set map($m,DiagFormat_segmentation) Segmentation
149 set map($m,DiagFormat_extServices) ExtServices
150 set map($m,DiagFormat_accessCtrl) AccessCtrl
151 set map($m,DiagFormat_recordSyntax) RecordSyntax
152 #
153 set map($m,Scan_termList2) AttrListList
154 set map($m,Sort_inputTooLarge) StringList
155 #
156 set map($m,AccessCtrl_oid) OidList
157 set map($m,AccessCtrl_alternative) AltOidList
158 # ----
159 set m RecordSyntax-explain
160 set filename($m) z-exp
161 set map($m,Explain-Record) ExplainRecord
162 set map($m,ElementDataType_structured) ElementInfoList
163 set map($m,HumanString_s) HumanStringUnit
164 set unionmap($m,HumanString) {num_strings strings}
165 set membermap($m,CommonInfo,humanString-Language) humanStringLanguage
166 set unionmap($m,AttributeOccurrence,attributeValues) {which attributeValues AttributeOcc}
167 set unionmap($m,AttributeCombination) {num_occurrences occurrences}
168 #
169 set membermap($m,NetworkAddress,internetAddress) {NetworkAddress_iA internetAddress}
170 set map($m,NetworkAddress_iA) NetworkAddressIA
171 set membermap($m,NetworkAddress,osiPresentationAddress) {NetworkAddress_oPA osiPresentationAddress}
172 set map($m,NetworkAddress_oPA) NetworkAddressOPA
173 set map($m,NetworkAddress_other) NetworkAddressOther
174 set unionmap($m,DatabaseList) {num_databases databases}
175 set membermap($m,TargetInfo,recent-news) recentNews
176 set membermap($m,TargetInfo,usage-restrictions) usageRest
177 set membermap($m,DatabaseInfo,user-fee) userFee
178 #
179 set map($m,ProximitySupport_0) ProxSupportUnit
180 set map($m,ProxSupportUnitZprivate) ProxSupportPrivate
181 set membermap($m,ProxSupportUnit,private) {ProxSupportUnit_private zprivate}
182 #
183 set map($m,AttributeOccurrence_specific) AttributeValueList
184 set unionmap($m,AttributeValueList) {num_attributes attributes}
185
186 set unionmap($m,ExplainRecord) {which u Explain}
187 set map($m,SchemaInfo_0) TagTypeMapping
188 set map($m,TagSetInfo_0) TagSetElements
189 set map($m,TermListInfo_0) TermListElement
190 set map($m,TermListDetails_0) EScanInfo
191 set map($m,PrivateCapabilities_0) PrivateCapOperator
192 set map($m,Costs_0) CostsOtherCharge
193 set map($m,Path_s) PathUnit
194 set map($m,IconObject_s) IconObjectUnit
195 set map($m,NetworkAddressInternetAddress) NetworkAddressIA
196 set map($m,NetworkAddressOsiPresentationAddress) NetworkAddressOPA
197 set membermap($m,QueryTypeDetails,private) {QueryTypeDetails_private zprivate}
198 set membermap($m,PrivateCapOperator,operator) roperator
199 set map($m,AccessRestrictions_s) AccessRestrictionsUnit
200 # ----
201 set m RecordSyntax-SUTRS
202 set filename($m) z-sutrs
203 #set map($m,SutrsRecord) SUTRS
204 set body($m,c) {
205 int z_SUTRS (ODR o, Odr_oct **p, int opt)
206 {
207     return odr_implicit(o, odr_octetstring, p, ODR_UNIVERSAL,
208         ODR_GENERALSTRING, opt);
209 }
210 }
211
212 set init($m,h) {
213 typedef Odr_oct Z_SUTRS;
214 YAZ_EXPORT int z_SUTRS (ODR o, Odr_oct **p, int opt);
215 }
216 # ----
217 set m RecordSyntax-opac
218 set filename($m) z-opac
219 # ----
220 set m RecordSyntax-summary
221 set filename($m) z-sum
222 # ----
223 set m RecordSyntax-generic
224 set filename($m) z-grs
225 set map($m,ElementData_subtree) GenericRecord
226 set map($m,Variant_0) Triple
227 set membermap($m,Triple,class) zclass
228 set unionmap($m,Triple,value) {which value Triple}
229 set unionmap($m,GenericRecord) {num_elements elements}
230 # ----
231 set m RecordSyntax-ESTaskPackage
232 set filename($m) z-estask
233 # ----
234 set m ResourceReport-Format-Resource-1
235 set filename($m) z-rrf1
236 set map($m,ResourceReport) ResourceReport1
237 set map($m,Estimate) Estimate1
238 # ----
239 set m ResourceReport-Format-Resource-2
240 set filename($m) z-rrf2
241 set map($m,ResourceReport) ResourceReport2
242 set map($m,Estimate) Estimate2
243 # ----
244 set m AccessControlFormat-prompt-1
245 set filename($m) z-accform1
246 set membermap($m,PromptId,enummeratedPrompt) enumeratedPrompt 
247 set map($m,PromptObject) PromptObject1
248 set map($m,Challenge) Challenge1
249 set map($m,Challenge1_s) ChallengeUnit1
250 set map($m,Response) Response1
251 set map($m,Response1_s) ResponseUnit1
252 set map($m,PromptObject) PromptObject1
253 # ----
254 set m AccessControlFormat-des-1
255 set filename($m) z-accdes1
256 # ----
257 set m AccessControlFormat-krb-1
258 set filename($m) z-acckrb1
259 # ----
260 set m ESFormat-PersistentResultSet
261 set filename($m) zes-pset
262 # ----
263 set m ESFormat-PersistentQuery
264 set filename($m) zes-pquery
265 # ----
266 set m ESFormat-PeriodicQuerySchedule 
267 set filename($m) zes-psched
268 # ----
269 set m ESFormat-ItemOrder
270 set filename($m) zes-order
271 set map($m,ItemOrderEsRequest) Request
272 set map($m,ItemOrderTaskPackage) TaskPackage
273 set map($m,OriginPartToKeep_0) Contact
274 set map($m,OriginPartToKeep_1) Billing
275 set map($m,OriginPartNotToKeep_0) ResultSetItem
276 #
277 # ---- (old version)
278 set m ESFormat-Update0
279 set filename($m) zes-update0
280 set map($m,SuppliedRecords_s) SuppliedRecords_elem
281 set map($m,SuppliedRecords_elem_0) SuppliedRecordsId
282 #
283 # ---- (new, current version)
284 set m ESFormat-Update
285 set filename($m) zes-update
286 set map($m,SuppliedRecords_s) SuppliedRecords_elem
287 set map($m,SuppliedRecords_elem_0) SuppliedRecordsId
288 # ----
289 set m ESFormat-ExportSpecification
290 set filename($m) zes-exps
291 # ----
292 set m ESFormat-ExportInvocation
293 set filename($m) zes-expi
294 # ----
295 set m UserInfoFormat-searchResult-1
296 set filename($m) z-uifr1
297 # ----
298 set m ElementSpecificationFormat-eSpec-1
299 set filename($m) z-espec1
300 set map($m,Espec-1) Espec1
301 set map($m,TagPath) ETagPath
302 set map($m,ETagPath_s) ETagUnit
303 set map($m,ETagUnitSpecificTag) SpecificTag
304 set membermap($m,SpecificTag,occurrence) occurrences
305 set unionmap($m,ElementRequest) {which u ERequest}
306 set unionmap($m,ETagPath) {num_tags tags}
307 set map($m,OccurrencesValues) OccurValues
308 # ----
309 set m UserInfoFormat-dateTime
310 set filename($m) z-date
311 set map($m,Z3950Date) Date
312 set map($m,Z3950Time) Time
313 set unionmap($m,Z3950Date,era) {}
314 set map($m,DateFlags_0) Era
315 set map($m,Z3950DateMonthAndDay) MonthAndDay
316 set map($m,Z3950DateQuarter) DateQuater
317 set map($m,Z3950DateSeason) DateSeason
318 set map($m,Date_0) DateFlags
319 set unionmap($m,DateFlags,era) {}
320 # ----
321 set m ResourceReport-Format-Universe-1 
322 set filename($m) z-univ
323
324 # ----------------------------------------------------------
325 # "Constructed" types defined by means of C-types are declared here.
326 # Each function returns the C-handler and the C-type.
327 proc asnBasicGeneralString {} {
328     return {odr_generalstring char}
329 }
330
331 proc asnBasicVisibleString {} {
332     return {odr_visiblestring char}
333 }
334
335 proc asnBasicGeneralizedTime {} {
336     return {odr_generalizedtime char}
337 }
338
339 proc asnBasicEXTERNAL {} {
340     return {z_External Z_External}
341 }