source: trunk/gsdl/packages/yaz/include/yaz/prt-arc.h@ 1343

Last change on this file since 1343 was 1343, checked in by johnmcp, 24 years ago

Added the YAZ toolkit source to the packages directory (for z39.50 stuff)

  • Property svn:keywords set to Author Date Id Revision
File size: 4.6 KB
Line 
1/*
2 * Copyright (c) 1995,1996 Index Data.
3 *
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,
6 * provided that:
7 *
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.
11 *
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.
15 *
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
24 * OF THIS SOFTWARE.
25 *
26 */
27
28#ifndef PRT_ARC_H
29#define PRT_ARC_H
30
31#ifdef __cplusplus
32extern "C" {
33#endif
34
35/* ------------------- Summary Record --------------------- */
36
37typedef struct Z_FormatSpec
38{
39 char *type;
40 int *size; /* OPTIONAL */
41 int *bestPosn; /* OPTIONAL */
42} Z_FormatSpec;
43
44typedef struct Z_BriefBib
45{
46 char *title;
47 char *author; /* OPTIONAL */
48 char *callNumber; /* OPTIONAL */
49 char *recordType; /* OPTIONAL */
50 char *bibliographicLevel; /* OPTIONAL */
51 int num_format;
52 Z_FormatSpec **format; /* OPTIONAL */
53 char *publicationPlace; /* OPTIONAL */
54 char *publicationDate; /* OPTIONAL */
55 char *targetSystemKey; /* OPTIONAL */
56 char *satisfyingElement; /* OPTIONAL */
57 int *rank; /* OPTIONAL */
58 char *documentId; /* OPTIONAL */
59 char *abstract; /* OPTIONAL */
60 Z_OtherInformation *otherInfo; /* OPTIONAL */
61} Z_BriefBib;
62
63/* ------------------- OPAC Record --------------------- */
64
65typedef struct Z_CircRecord
66{
67 bool_t *availableNow;
68 char *availabilityDate; /* OPTIONAL */
69 char *availableThru; /* OPTIONAL */
70 char *restrictions; /* OPTIONAL */
71 char *itemId; /* OPTIONAL */
72 bool_t *renewable;
73 bool_t *onHold;
74 char *enumAndChron; /* OPTIONAL */
75 char *midspine; /* OPTIONAL */
76 char *temporaryLocation; /* OPTIONAL */
77} Z_CircRecord;
78
79typedef struct Z_Volume
80{
81 char *enumeration; /* OPTIONAL */
82 char *chronology; /* OPTIONAL */
83 char *enumAndChron; /* OPTIONAL */
84} Z_Volume;
85
86typedef struct Z_HoldingsAndCircData
87{
88 char *typeOfRecord; /* OPTIONAL */
89 char *encodingLevel; /* OPTIONAL */
90 char *format; /* OPTIONAL */
91 char *receiptAcqStatus; /* OPTIONAL */
92 char *generalRetention; /* OPTIONAL */
93 char *completeness; /* OPTIONAL */
94 char *dateOfReport; /* OPTIONAL */
95 char *nucCode; /* OPTIONAL */
96 char *localLocation; /* OPTIONAL */
97 char *shelvingLocation; /* OPTIONAL */
98 char *callNumber; /* OPTIONAL */
99 char *shelvingData; /* OPTIONAL */
100 char *copyNumber; /* OPTIONAL */
101 char *publicNote; /* OPTIONAL */
102 char *reproductionNote; /* OPTIONAL */
103 char *termsUseRepro; /* OPTIONAL */
104 char *enumAndChron; /* OPTIONAL */
105 int num_volumes;
106 Z_Volume **volumes; /* OPTIONAL */
107 int num_circulationData;
108 Z_CircRecord **circulationData;/* OPTIONAL */
109} Z_HoldingsAndCircData;
110
111typedef struct Z_HoldingsRecord
112{
113 int which;
114#define Z_HoldingsRecord_marcHoldingsRecord 0
115#define Z_HoldingsRecord_holdingsAndCirc 1
116 union
117 {
118 Z_External *marcHoldingsRecord;
119 Z_HoldingsAndCircData *holdingsAndCirc;
120 } u;
121} Z_HoldingsRecord;
122
123typedef struct Z_OPACRecord
124{
125 Z_External *bibliographicRecord; /* OPTIONAL */
126 int num_holdingsData;
127 Z_HoldingsRecord **holdingsData; /* OPTIONAL */
128} Z_OPACRecord;
129
130YAZ_EXPORT int z_BriefBib(ODR o, Z_BriefBib **p, int opt, const char *name);
131YAZ_EXPORT int z_OPACRecord(ODR o, Z_OPACRecord **p, int opt,
132 const char *name);
133
134#ifdef __cplusplus
135}
136#endif
137
138#endif
Note: See TracBrowser for help on using the repository browser.