00001
00007 #ifndef zes_order_H
00008 #define zes_order_H
00009
00010 #include <yaz/odr.h>
00011 #include <yaz/z-core.h>
00012 #ifdef __cplusplus
00013 extern "C" {
00014 #endif
00015
00016 typedef struct Z_IORequest Z_IORequest;
00017 YAZ_EXPORT int z_IORequest (ODR o, Z_IORequest **p, int opt, const char *name);
00018
00019 typedef struct Z_IOTaskPackage Z_IOTaskPackage;
00020 YAZ_EXPORT int z_IOTaskPackage (ODR o, Z_IOTaskPackage **p, int opt, const char *name);
00021
00022 typedef struct Z_IOItemOrder Z_IOItemOrder;
00023 YAZ_EXPORT int z_IOItemOrder (ODR o, Z_IOItemOrder **p, int opt, const char *name);
00024
00025 typedef struct Z_IOContact Z_IOContact;
00026 YAZ_EXPORT int z_IOContact (ODR o, Z_IOContact **p, int opt, const char *name);
00027
00028 typedef struct Z_IOBilling Z_IOBilling;
00029 YAZ_EXPORT int z_IOBilling (ODR o, Z_IOBilling **p, int opt, const char *name);
00030
00031 typedef struct Z_IOOriginPartToKeep Z_IOOriginPartToKeep;
00032 YAZ_EXPORT int z_IOOriginPartToKeep (ODR o, Z_IOOriginPartToKeep **p, int opt, const char *name);
00033
00034 typedef struct Z_IOCreditCardInfo Z_IOCreditCardInfo;
00035 YAZ_EXPORT int z_IOCreditCardInfo (ODR o, Z_IOCreditCardInfo **p, int opt, const char *name);
00036
00037 typedef struct Z_IOResultSetItem Z_IOResultSetItem;
00038 YAZ_EXPORT int z_IOResultSetItem (ODR o, Z_IOResultSetItem **p, int opt, const char *name);
00039
00040 typedef struct Z_IOOriginPartNotToKeep Z_IOOriginPartNotToKeep;
00041 YAZ_EXPORT int z_IOOriginPartNotToKeep (ODR o, Z_IOOriginPartNotToKeep **p, int opt, const char *name);
00042
00043 typedef struct Z_IOTargetPart Z_IOTargetPart;
00044 YAZ_EXPORT int z_IOTargetPart (ODR o, Z_IOTargetPart **p, int opt, const char *name);
00045 #ifdef __cplusplus
00046 }
00047 #endif
00048 #ifdef __cplusplus
00049 extern "C" {
00050 #endif
00051 struct Z_IORequest {
00052 Z_IOOriginPartToKeep *toKeep;
00053 Z_IOOriginPartNotToKeep *notToKeep;
00054 };
00055
00056 struct Z_IOTaskPackage {
00057 Z_IOOriginPartToKeep *originPart;
00058 Z_IOTargetPart *targetPart;
00059 };
00060
00061 struct Z_IOItemOrder {
00062 int which;
00063 union {
00064 Z_IORequest *esRequest;
00065 Z_IOTaskPackage *taskPackage;
00066 #define Z_IOItemOrder_esRequest 1
00067 #define Z_IOItemOrder_taskPackage 2
00068 } u;
00069 };
00070
00071 struct Z_IOContact {
00072 Z_InternationalString *name;
00073 Z_InternationalString *phone;
00074 Z_InternationalString *email;
00075 };
00076
00077 struct Z_IOBilling {
00078 int which;
00079 union {
00080 Odr_null *billInvoice;
00081 Odr_null *prepay;
00082 Odr_null *depositAccount;
00083 Z_IOCreditCardInfo *creditCard;
00084 Odr_null *cardInfoPreviouslySupplied;
00085 Odr_null *privateKnown;
00086 Z_External *privateNotKnown;
00087 #define Z_IOBilling_billInvoice 1
00088 #define Z_IOBilling_prepay 2
00089 #define Z_IOBilling_depositAccount 3
00090 #define Z_IOBilling_creditCard 4
00091 #define Z_IOBilling_cardInfoPreviouslySupplied 5
00092 #define Z_IOBilling_privateKnown 6
00093 #define Z_IOBilling_privateNotKnown 7
00094 } u;
00095 Z_InternationalString *customerReference;
00096 Z_InternationalString *customerPONumber;
00097 };
00098
00099 struct Z_IOOriginPartToKeep {
00100 Z_External *supplDescription;
00101 Z_IOContact *contact;
00102 Z_IOBilling *addlBilling;
00103 };
00104
00105 struct Z_IOCreditCardInfo {
00106 Z_InternationalString *nameOnCard;
00107 Z_InternationalString *expirationDate;
00108 Z_InternationalString *cardNumber;
00109 };
00110
00111 struct Z_IOResultSetItem {
00112 Z_InternationalString *resultSetId;
00113 int *item;
00114 };
00115
00116 struct Z_IOOriginPartNotToKeep {
00117 Z_IOResultSetItem *resultSetItem;
00118 Z_External *itemRequest;
00119 };
00120
00121 struct Z_IOTargetPart {
00122 Z_External *itemRequest;
00123 Z_External *statusOrErrorReport;
00124 #define Z_IOTargetPart_notReceived 1
00125 #define Z_IOTargetPart_loanQueue 2
00126 #define Z_IOTargetPart_forwarded 3
00127 #define Z_IOTargetPart_unfilledCopyright 4
00128 #define Z_IOTargetPart_filledCopyright 5
00129 int *auxiliaryStatus;
00130 };
00131
00132 #ifdef __cplusplus
00133 }
00134 #endif
00135 #endif