/*
- * Copyright (c) 1995, Index Data.
+ * Copyright (c) 1995-1999, Index Data.
*
* Permission to use, copy, modify, distribute, and sell this software and
* its documentation, in whole or in part, for any purpose, is hereby granted,
* LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
* OF THIS SOFTWARE.
*
- * $Log: oid.h,v $
- * Revision 1.11 1996-01-02 08:57:30 quinn
- * Changed enums in the ASN.1 .h files to #defines. Changed oident.class to oclass
- *
- * Revision 1.10 1995/11/13 09:27:31 quinn
- * Fiddling with the variant stuff.
- *
- * Revision 1.9 1995/10/12 10:34:45 quinn
- * Added Espec-1.
- *
- * Revision 1.8 1995/10/10 16:27:08 quinn
- * *** empty log message ***
- *
- * Revision 1.7 1995/09/29 17:12:05 quinn
- * Smallish
- *
- * Revision 1.6 1995/09/27 15:02:48 quinn
- * Modified function heads & prototypes.
- *
- * Revision 1.5 1995/09/12 11:31:46 quinn
- * Added some oids.
- *
- * Revision 1.4 1995/06/27 13:20:32 quinn
- * Added SUTRS support
- *
- * Revision 1.3 1995/05/29 08:11:33 quinn
- * Moved oid from odr/asn to util.
- *
- * Revision 1.2 1995/05/16 08:50:35 quinn
- * License, documentation, and memory fixes
- *
- * Revision 1.1 1995/03/30 09:39:41 quinn
- * Moved .h files to include directory
- *
- * Revision 1.1 1995/03/27 08:32:13 quinn
- * Added OID database
- *
- *
+ * $Id: oid.h,v 1.33 1999-05-27 13:02:20 adam Exp $
*/
#ifndef OID_H
#include <yconfig.h>
-#define OID_SIZE 100
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define OID_SIZE 20
typedef enum oid_proto
{
+ PROTO_NOP=0,
PROTO_Z3950,
PROTO_SR,
- PROTO_GENERAL
+ PROTO_GENERAL,
+ PROTO_WAIS
} oid_proto;
typedef enum oid_class
{
+ CLASS_NOP=0,
CLASS_APPCTX,
CLASS_ABSYN,
CLASS_ATTSET,
CLASS_ELEMSPEC,
CLASS_VARSET,
CLASS_SCHEMA,
- CLASS_TAGSET
+ CLASS_TAGSET,
+ CLASS_GENERAL
} oid_class;
typedef enum oid_value
{
+ VAL_NOP=0,
VAL_APDU,
VAL_BER,
VAL_BASIC_CTX,
VAL_GILS,
VAL_WAIS,
VAL_STAS,
+ VAL_COLLECT1,
+ VAL_CIMI1,
+ VAL_GEO,
VAL_DIAG1,
VAL_ISO2709,
VAL_UNIMARC,
VAL_PICAMARC,
VAL_AUSMARC,
VAL_IBERMARC,
+ VAL_CATMARC,
+ VAL_MALMARC,
VAL_EXPLAIN,
VAL_SUTRS,
VAL_OPAC,
VAL_GRS0,
VAL_GRS1,
VAL_EXTENDED,
+ VAL_FRAGMENT,
VAL_RESOURCE1,
VAL_RESOURCE2,
VAL_PROMPT1,
VAL_PQUERY,
VAL_PCQUERY,
VAL_ITEMORDER,
+ VAL_DBUPDATE0,
VAL_DBUPDATE,
VAL_EXPORTSPEC,
VAL_EXPORTINV,
VAL_SETM,
VAL_SETG,
VAL_VAR1,
- VAL_ESPEC1
+ VAL_ESPEC1,
+ VAL_SOIF,
+ VAL_SEARCHRES1,
+ VAL_THESAURUS,
+ VAL_CHARLANG,
+ VAL_USERINFO1,
+ VAL_MULTISRCH1,
+ VAL_MULTISRCH2,
+ VAL_DATETIME,
+ VAL_SQLRS,
+ VAL_PDF,
+ VAL_POSTSCRIPT,
+ VAL_HTML,
+ VAL_TIFF,
+ VAL_GIF,
+ VAL_JPEG,
+ VAL_PNG,
+ VAL_MPEG,
+ VAL_SGML,
+ VAL_TIFFB,
+ VAL_WAV,
+ VAL_UPDATEES,
+ VAL_TEXT_XML,
+ VAL_APPLICATION_XML,
+ VAL_UNIVERSE_REPORT,
+ VAL_PROXY,
+ VAL_COOKIE,
+/* add new types here... */
+
+/* VAL_DYNAMIC must have highest value */
+ VAL_DYNAMIC,
+ VAL_MAX = VAL_DYNAMIC+30
} oid_value;
typedef struct oident
oid_proto proto;
oid_class oclass;
oid_value value;
- int oidsuffix[20];
+ int oidsuffix[OID_SIZE];
char *desc;
} oident;
-int *oid_getoidbyent(struct oident *ent);
-struct oident *oid_getentbyoid(int *o);
-void oid_oidcpy(int *t, int *s);
-void oid_oidcat(int *t, int *s);
-int oid_oidcmp(int *o1, int *o2);
-int oid_oidlen(int *o);
-oid_value oid_getvalbyname(char *name);
+YAZ_EXPORT int *oid_getoidbyent(struct oident *ent);
+YAZ_EXPORT int *oid_ent_to_oid(struct oident *ent, int *dst);
+YAZ_EXPORT struct oident *oid_getentbyoid(int *o);
+YAZ_EXPORT void oid_oidcpy(int *t, int *s);
+YAZ_EXPORT void oid_oidcat(int *t, int *s);
+YAZ_EXPORT int oid_oidcmp(int *o1, int *o2);
+YAZ_EXPORT int oid_oidlen(int *o);
+YAZ_EXPORT oid_value oid_getvalbyname(const char *name);
+YAZ_EXPORT void oid_setprivateoids(oident *list);
+YAZ_EXPORT struct oident *oid_addent (int *oid, enum oid_proto proto,
+ enum oid_class oclass,
+ const char *desc, int value);
+
+#ifdef __cplusplus
+}
+#endif
#endif