Fixed Makefile(s).
[yaz-moved-to-github.git] / util / oid.c
index 65fa03a..d1ce750 100644 (file)
@@ -1,10 +1,22 @@
 /*
- * Copyright (c) 1995, Index Data
+ * Copyright (c) 1995-1997, Index Data
  * See the file LICENSE for details.
  * Sebastian Hammer, Adam Dickmeiss
  *
  * $Log: oid.c,v $
- * Revision 1.21  1997-08-19 08:46:05  quinn
+ * Revision 1.24  1997-09-29 13:19:00  adam
+ * Added function, oid_ent_to_oid, to replace the function
+ * oid_getoidbyent, which is not thread safe.
+ *
+ * Revision 1.23  1997/09/09 10:10:19  adam
+ * Another MSV5.0 port. Changed projects to include proper
+ * library/include paths.
+ * Server starts server in test-mode when no options are given.
+ *
+ * Revision 1.22  1997/08/29 13:34:58  quinn
+ * Added thesaurus oids
+ *
+ * Revision 1.21  1997/08/19 08:46:05  quinn
  * Added Thesaurus OID
  *
  * Revision 1.20  1997/07/28 12:34:43  adam
  * entries to the list at initialization.
  */
 
+#include <stdlib.h>
 #include <oid.h>
 #include <yaz-util.h>
 
@@ -190,6 +203,7 @@ static oident oids[] =
     {PROTO_Z3950,   CLASS_TAGSET,  VAL_GILS,      {14,4,-1},   "GILS-tagset" },
     {PROTO_Z3950,   CLASS_TAGSET,  VAL_COLLECT1,  {14,5,-1},   "Collections-tagset"},
     {PROTO_Z3950,   CLASS_TAGSET,  VAL_CIMI1,     {14,6,-1},   "CIMI-tagset" },
+    {PROTO_Z3950,   CLASS_TAGSET,  VAL_THESAURUS, {14,1000,81,1,-1}, "thesaurus-tagset"},
 
     /* SR definitions. Note that some of them aren't defined by the
         standard (yet), but are borrowed from Z3950v3 */
@@ -262,6 +276,7 @@ static oident oids[] =
     {PROTO_SR,      CLASS_SCHEMA,  VAL_COLLECT1,  {13,3,-1},   "Collections-schema" },
     {PROTO_SR,      CLASS_SCHEMA,  VAL_GEO,       {13,4,-1},   "Geo-schema" },
     {PROTO_SR,      CLASS_SCHEMA,  VAL_CIMI1,     {13,5,-1},   "CIMI-schema" },
+    {PROTO_Z3950,   CLASS_SCHEMA,  VAL_THESAURUS, {13,1000,81,1,-1}, "thesaurus-schema"},
 
     {PROTO_SR,      CLASS_TAGSET,  VAL_SETM,      {14,1,-1},   "TagsetM"     },
     {PROTO_SR,      CLASS_TAGSET,  VAL_SETG,      {14,2,-1},   "TagsetG"     },
@@ -348,13 +363,13 @@ struct oident *oid_getentbyoid(int *o)
     return 0;
 }
 
+
 /*
  * To query, fill out proto, class, and value of the ent parameter.
  */
-int *oid_getoidbyent(struct oident *ent)
+int *oid_ent_to_oid(struct oident *ent, int *ret)
 {
     struct oident *p;
-    static int ret[OID_SIZE];
 
     for (p = oids; *p->oidsuffix >= 0; p++)
         if (ent->proto == p->proto &&
@@ -387,6 +402,15 @@ int *oid_getoidbyent(struct oident *ent)
             }
     return 0;
 }
+/*
+ * To query, fill out proto, class, and value of the ent parameter.
+ */
+int *oid_getoidbyent(struct oident *ent)
+{
+    static int ret[OID_SIZE];
+
+    return oid_ent_to_oid (ent, ret);
+}
 
 oid_value oid_getvalbyname(const char *name)
 {