Fixed problem with proto.h.
[yaz-moved-to-github.git] / include / oid.h
index 7a035ce..bb95414 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * 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.22  1997-08-19 08:45:13  quinn
- * Added Thesaurus
- *
- * Revision 1.21  1997/08/19 08:43:49  quinn
- * Housekeeping
- *
- * Revision 1.19  1997/07/28 12:34:42  adam
- * Added new OID entries (RVDM).
- *
- * Revision 1.18  1997/05/14 06:53:42  adam
- * C++ support.
- *
- * Revision 1.17  1997/05/02 08:39:27  quinn
- * Support for private OID table added. Thanks to Ronald van der Meer
- *
- * Revision 1.16  1997/04/30 08:52:08  quinn
- * Null
- *
- * Revision 1.15  1996/10/09  15:54:57  quinn
- * Added SearchInfoReport
- *
- * Revision 1.14  1996/10/07  15:29:17  quinn
- * Added SOIF support
- *
- * Revision 1.13  1996/02/20  17:57:53  adam
- * Added const to oid_getvalbyname.
- *
- * Revision 1.12  1996/02/20  12:52:37  quinn
- * Various
- *
- * 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
 extern "C" {
 #endif
 
-#define OID_SIZE 100
+#define OID_SIZE 20
     
 typedef enum oid_proto
 {
+    PROTO_NOP=0,
     PROTO_Z3950,
     PROTO_SR,
     PROTO_GENERAL,
@@ -114,6 +48,7 @@ typedef enum oid_proto
 
 typedef enum oid_class
 {
+    CLASS_NOP=0,
     CLASS_APPCTX,
     CLASS_ABSYN,
     CLASS_ATTSET,
@@ -127,11 +62,13 @@ typedef enum oid_class
     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,
@@ -181,6 +118,7 @@ typedef enum oid_value
     VAL_PQUERY,
     VAL_PCQUERY,
     VAL_ITEMORDER,
+    VAL_DBUPDATE0,
     VAL_DBUPDATE,
     VAL_EXPORTSPEC,
     VAL_EXPORTINV,
@@ -191,7 +129,35 @@ typedef enum oid_value
     VAL_ESPEC1,
     VAL_SOIF,
     VAL_SEARCHRES1,
-    VAL_THESAURUS
+    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
@@ -199,18 +165,22 @@ 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(const char *name);
-void oid_setprivateoids(oident *list);
+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
 }