2 * Copyright (c) 1995-1998, Index Data.
4 * Permission to use, copy, modify, distribute, and sell this software and
5 * its documentation, in whole or in part, for any purpose, is hereby granted,
8 * 1. This copyright and permission notice appear in all copies of the
9 * software and its documentation. Notices of copyright or attribution
10 * which appear at the beginning of any file must remain unchanged.
12 * 2. The names of Index Data or the individual authors may not be used to
13 * endorse or promote products derived from this software without specific
14 * prior written permission.
16 * THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT WARRANTY OF ANY KIND,
17 * EXPRESS, IMPLIED, OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
18 * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
19 * IN NO EVENT SHALL INDEX DATA BE LIABLE FOR ANY SPECIAL, INCIDENTAL,
20 * INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES
21 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR
22 * NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
23 * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
37 typedef struct Z_TaskPackage
40 char *packageName; /* OPTIONAL */
41 char *userId; /* OPTIONAL */
42 Z_IntUnit *retentionTime; /* OPTIONAL */
43 Z_Permissions *permissions; /* OPTIONAL */
44 char *description; /* OPTIONAL */
45 Odr_oct *targetReference;
46 char *creationDateTime; /* OPTIONAL */
48 #define Z_TaskPackage_pending 0
49 #define Z_TaskPackage_active 1
50 #define Z_TaskPackage_complete 2
51 #define Z_TaskPackage_aborted 3
52 int num_packageDiagnostics;
53 Z_DiagRec **packageDiagnostics; /* OPTIONAL */
54 Z_External *taskSpecificParameters;
57 int z_TaskPackage(ODR o, Z_TaskPackage **p, int opt);
59 /* ----------------------- ITEM ORDER ------------------------- */
61 typedef struct Z_IOTargetPart
63 Z_External *itemRequest; /* OPTIONAL */
64 Z_External *statusOrErrorReport;
65 int *auxiliaryStatus; /* OPTIONAL */
66 #define Z_IOTargetPart_notReceived 1
67 #define Z_IOTargetPart_loanQueue 2
68 #define Z_IOTargetPart_forwarded 3
69 #define Z_IOTargetPart_unfilledCopyright 4
70 #define Z_IOTargetPart_filledCopyright 1
73 typedef struct Z_IOResultSetItem
79 typedef struct Z_IOOriginPartNotToKeep
81 Z_IOResultSetItem *resultSetItem; /* OPTIONAL */
82 Z_External *itemRequest; /* OPTIONAL */
83 } Z_IOOriginPartNotToKeep;
85 typedef struct Z_IOContact
87 char *name; /* OPTIONAL */
88 char *phone; /* OPTIONAL */
89 char *email; /* OPTIONAL */
92 typedef struct Z_IOCreditCardInfo
99 typedef struct Z_IOBilling
102 #define Z_IOBilling_billInvoice 0
103 #define Z_IOBilling_prepay 1
104 #define Z_IOBilling_depositAccount 2
105 #define Z_IOBilling_creditCard 3
106 #define Z_IOBilling_cardInfoPreviouslySupplied 4
107 #define Z_IOBilling_privateKnown 5
108 #define Z_IOBilling_privateNotKnown 6
112 Z_IOCreditCardInfo *creditCard;
113 Z_External *privateNotKnown;
115 char *customerReference; /* OPTIONAL */
116 char *customerPONumber; /* OPTIONAL */
119 typedef struct Z_IOOriginPartToKeep
121 Z_External *supplDescription; /* OPTIONAL */
122 Z_IOContact *contact; /* OPTIONAL */
123 Z_IOBilling *addlBilling; /* OPTIONAL */
124 } Z_IOOriginPartToKeep;
126 typedef struct Z_IORequest
128 Z_IOOriginPartToKeep *toKeep; /* OPTIONAL */
129 Z_IOOriginPartNotToKeep *notToKeep;
132 typedef struct Z_IOTaskPackage
134 Z_IOOriginPartToKeep *originPart; /* OPTIONAL */
135 Z_IOTargetPart *targetPart;
138 typedef struct Z_ItemOrder
141 #define Z_ItemOrder_esRequest 0
142 #define Z_ItemOrder_taskPackage 1
145 Z_IORequest *esRequest;
146 Z_IOTaskPackage *taskPackage;
150 int z_ItemOrder(ODR o, Z_ItemOrder **p, int opt);
152 /* ----------------------- ITEM UPDATE ------------------------ */
154 typedef struct Z_IUSuppliedRecordsId
157 #define Z_IUSuppliedRecordsId_timeStamp 1
158 #define Z_IUSuppliedRecordsId_versionNumber 2
159 #define Z_IUSuppliedRecordsId_previousVersion 3
163 Odr_external *previousVersion;
165 } Z_IUSuppliedRecordsId;
167 typedef struct Z_IUCorrelationInfo
169 char *note; /* OPTIONAL */
170 int *id; /* OPTIONAL */
171 } Z_IUCorrelationInfo;
173 typedef struct Z_IUSuppliedRecords_elem
176 #define Z_IUSuppliedRecords_number 1
177 #define Z_IUSuppliedRecords_string 2
178 #define Z_IUSuppliedRecords_opaque 3
184 Z_IUSuppliedRecordsId *supplementalId; /* OPTIONAL */
185 Z_IUCorrelationInfo *correlationInfo; /* OPTIONAL */
186 Odr_external *record;
187 } Z_IUSuppliedRecords_elem;
189 typedef struct Z_IUSuppliedRecords
192 Z_IUSuppliedRecords_elem **elements;
193 } Z_IUSuppliedRecords;
195 typedef struct Z_IUOriginPartToKeep
198 #define Z_IUOriginPartToKeep_recordInsert 1
199 #define Z_IUOriginPartToKeep_recordReplace 2
200 #define Z_IUOriginPartToKeep_recordDelete 3
201 #define Z_IUOriginPartToKeep_elementUpdate 4
202 #define Z_IUOriginPartToKeep_specialUpdate 5
204 Odr_oid *schema; /* OPTIONAL */
205 char *elementSetName; /* OPTIONAL */
206 Odr_external *actionQualifier; /* OPTIONAL */
207 } Z_IUOriginPartToKeep;
209 typedef struct Z_IUTaskPackageRecordStructure
212 #define Z_IUTaskPackageRecordStructure_record 1
213 #define Z_IUTaskPackageRecordStructure_surrogateDiagnostics 2
215 Odr_external *record;
216 Z_DiagRecs *surrogateDiagnostics;
218 Z_IUCorrelationInfo *correlationInfo; /* OPTIONAL */
220 #define Z_IUTaskPackageRecordStructureS_success 1
221 #define Z_IUTaskPackageRecordStructureS_queued 2
222 #define Z_IUTaskPackageRecordStructureS_inProcess 3
223 #define Z_IUTaskPackageRecordStructureS_failure 4
224 Z_DiagRecs *supplementalDiagnostics; /* OPTIONAL */
225 } Z_IUTaskPackageRecordStructure;
227 typedef struct Z_IUTargetPart
230 #define Z_IUTargetPart_success 1
231 #define Z_IUTargetPart_partial 2
232 #define Z_IUTargetPart_failure 3
233 int num_globalDiagnostics;
234 Z_DiagRec **globalDiagnostics; /* OPTIONAL */
235 int num_taskPackageRecords;
236 Z_IUTaskPackageRecordStructure **taskPackageRecords;
239 typedef struct Z_IUUpdateEsRequest
241 Z_IUOriginPartToKeep *toKeep;
242 Z_IUSuppliedRecords *notToKeep;
243 } Z_IUUpdateEsRequest;
245 typedef struct Z_IUUpdateTaskPackage
247 Z_IUOriginPartToKeep *originPart;
248 Z_IUTargetPart *targetPart;
249 } Z_IUUpdateTaskPackage;
251 typedef struct Z_IUUpdate
254 #define Z_IUUpdate_esRequest 1
255 #define Z_IUUpdate_taskPackage 2
257 Z_IUUpdateEsRequest *esRequest;
258 Z_IUUpdateTaskPackage *taskPackage;
262 YAZ_EXPORT int z_IUUpdate(ODR o, Z_IUUpdate **p, int opt);