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 name 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
27 * Revision 1.28 1998-10-13 16:01:52 adam
28 * Implemented support for dynamic object identifiers.
29 * Function oid_getvalbyname now accepts raw OID's as well as traditional
32 * Revision 1.27 1998/05/18 13:06:58 adam
33 * Changed the way attribute sets are handled by the retriaval module.
34 * Extended Explain conversion / schema.
35 * Modified server and client to work with ASN.1 compiled protocol handlers.
37 * Revision 1.26 1998/03/20 14:46:06 adam
38 * Added UNIverse Resource Reports.
40 * Revision 1.25 1998/02/10 15:31:52 adam
41 * Implemented date and time structure. Changed the Update Extended
44 * Revision 1.24 1997/09/29 13:18:59 adam
45 * Added function, oid_ent_to_oid, to replace the function
46 * oid_getoidbyent, which is not thread safe.
48 * Revision 1.23 1997/09/01 08:49:50 adam
49 * New windows NT/95 port using MSV5.0. To export DLL functions the
50 * YAZ_EXPORT modifier was added. Defined in yconfig.h.
52 * Revision 1.22 1997/08/19 08:45:13 quinn
55 * Revision 1.21 1997/08/19 08:43:49 quinn
58 * Revision 1.19 1997/07/28 12:34:42 adam
59 * Added new OID entries (RVDM).
61 * Revision 1.18 1997/05/14 06:53:42 adam
64 * Revision 1.17 1997/05/02 08:39:27 quinn
65 * Support for private OID table added. Thanks to Ronald van der Meer
67 * Revision 1.16 1997/04/30 08:52:08 quinn
70 * Revision 1.15 1996/10/09 15:54:57 quinn
71 * Added SearchInfoReport
73 * Revision 1.14 1996/10/07 15:29:17 quinn
76 * Revision 1.13 1996/02/20 17:57:53 adam
77 * Added const to oid_getvalbyname.
79 * Revision 1.12 1996/02/20 12:52:37 quinn
82 * Revision 1.11 1996/01/02 08:57:30 quinn
83 * Changed enums in the ASN.1 .h files to #defines. Changed oident.class to oclass
85 * Revision 1.10 1995/11/13 09:27:31 quinn
86 * Fiddling with the variant stuff.
88 * Revision 1.9 1995/10/12 10:34:45 quinn
91 * Revision 1.8 1995/10/10 16:27:08 quinn
92 * *** empty log message ***
94 * Revision 1.7 1995/09/29 17:12:05 quinn
97 * Revision 1.6 1995/09/27 15:02:48 quinn
98 * Modified function heads & prototypes.
100 * Revision 1.5 1995/09/12 11:31:46 quinn
103 * Revision 1.4 1995/06/27 13:20:32 quinn
104 * Added SUTRS support
106 * Revision 1.3 1995/05/29 08:11:33 quinn
107 * Moved oid from odr/asn to util.
109 * Revision 1.2 1995/05/16 08:50:35 quinn
110 * License, documentation, and memory fixes
112 * Revision 1.1 1995/03/30 09:39:41 quinn
113 * Moved .h files to include directory
115 * Revision 1.1 1995/03/27 08:32:13 quinn
132 typedef enum oid_proto
141 typedef enum oid_class
161 typedef enum oid_value
243 /* add new types here... */
245 /* VAL_DYNAMIC must have highest value */
249 typedef struct oident
254 int oidsuffix[OID_SIZE];
258 YAZ_EXPORT int *oid_getoidbyent(struct oident *ent);
259 YAZ_EXPORT int *oid_ent_to_oid(struct oident *ent, int *dst);
260 YAZ_EXPORT struct oident *oid_getentbyoid(int *o);
261 YAZ_EXPORT void oid_oidcpy(int *t, int *s);
262 YAZ_EXPORT void oid_oidcat(int *t, int *s);
263 YAZ_EXPORT int oid_oidcmp(int *o1, int *o2);
264 YAZ_EXPORT int oid_oidlen(int *o);
265 YAZ_EXPORT oid_value oid_getvalbyname(const char *name);
266 YAZ_EXPORT void oid_setprivateoids(oident *list);
267 YAZ_EXPORT struct oident *oid_addent (int *oid, int proto, int oclass,
268 const char *desc, int value);