Added COOKIE UserInfo OID.
[yaz-moved-to-github.git] / util / oid.c
index af20221..fed58e8 100644 (file)
@@ -1,10 +1,28 @@
 /*
- * Copyright (c) 1995-1998, Index Data
+ * Copyright (c) 1995-1999, Index Data
  * See the file LICENSE for details.
  * Sebastian Hammer, Adam Dickmeiss
  *
  * $Log: oid.c,v $
- * Revision 1.28  1998-10-13 16:01:53  adam
+ * Revision 1.34  1999-04-15 09:19:43  adam
+ * Added COOKIE UserInfo OID.
+ *
+ * Revision 1.33  1999/04/09 12:16:11  adam
+ * Added OtherInfo private OID proxy.
+ *
+ * Revision 1.32  1999/02/18 10:30:46  quinn
+ * Changed ES: Update OID
+ *
+ * Revision 1.31  1998/12/03 11:33:05  adam
+ * Added OID's for XML.
+ *
+ * Revision 1.30  1998/10/18 07:48:56  adam
+ * Fixed oid_getentbyoid so that it returns NULL when parsed oid is NULL.
+ *
+ * Revision 1.29  1998/10/14 13:32:35  adam
+ * Added include of string.h.
+ *
+ * Revision 1.28  1998/10/13 16:01:53  adam
  * Implemented support for dynamic object identifiers.
  * Function oid_getvalbyname now accepts raw OID's as well as traditional
  * names.
  */
 
 #include <stdlib.h>
+#include <string.h>
 #include <ctype.h>
 
 #include <oid.h>
@@ -205,7 +224,10 @@ static oident oids[] =
     {PROTO_Z3950,   CLASS_RECSYN,  VAL_ID_SGML,   {5,1000,81,1,-1},"ID-SGML" },
 #endif
     {PROTO_Z3950,   CLASS_RECSYN,  VAL_SOIF,      {5,1000,81,2,-1},"SOIF" },
-
+    {PROTO_Z3950,   CLASS_RECSYN,  VAL_TEXT_XML,  {5,109,10,-1}, "text-XML" },
+    {PROTO_Z3950,   CLASS_RECSYN,  VAL_TEXT_XML,  {5,109,10,-1}, "XML" },
+    {PROTO_Z3950,   CLASS_RECSYN,  VAL_APPLICATION_XML,
+          {5,109,11,-1}, "application-XML" },
     {PROTO_Z3950,   CLASS_RESFORM, VAL_RESOURCE1, {7,1,-1},    "Resource-1"  },
     {PROTO_Z3950,   CLASS_RESFORM, VAL_RESOURCE2, {7,2,-1},    "Resource-2"  },
     {PROTO_Z3950,   CLASS_RESFORM, VAL_UNIVERSE_REPORT,  {7,1000,81,1,-1}, "UNIverse-Resource-Report"},
@@ -218,7 +240,7 @@ static oident oids[] =
     {PROTO_Z3950,   CLASS_EXTSERV, VAL_PQUERY,    {9,2,-1},    "Pers. query" },
     {PROTO_Z3950,   CLASS_EXTSERV, VAL_PCQUERY,   {9,3,-1},    "Per'd query" },
     {PROTO_Z3950,   CLASS_EXTSERV, VAL_ITEMORDER, {9,4,-1},    "Item order"  },
-    {PROTO_Z3950,   CLASS_EXTSERV, VAL_DBUPDATE,  {9,5,-1},    "DB. Update"  },
+    {PROTO_Z3950,   CLASS_EXTSERV, VAL_DBUPDATE,  {9,5,1,1,-1},    "DB. Update"  },
     {PROTO_Z3950,   CLASS_EXTSERV, VAL_EXPORTSPEC,{9,6,-1},    "exp. spec."  },
     {PROTO_Z3950,   CLASS_EXTSERV, VAL_EXPORTINV, {9,7,-1},    "exp. inv."   },
 
@@ -228,6 +250,8 @@ static oident oids[] =
     {PROTO_Z3950,   CLASS_USERINFO,VAL_MULTISRCH1,{10,4,-1},   "MultipleSearchTerms-1"},
     {PROTO_Z3950,   CLASS_USERINFO,VAL_MULTISRCH2,{10,5,-1},   "MultipleSearchTerms-2"},
     {PROTO_Z3950,   CLASS_USERINFO,VAL_DATETIME,  {10,6,-1},   "DateTime"},
+    {PROTO_Z3950,   CLASS_USERINFO,VAL_PROXY,     {10,1000,81,1,-1}, "Proxy" },
+    {PROTO_Z3950,   CLASS_USERINFO,VAL_PROXY,     {10,1000,81,2,-1}, "Cookie" },
 
     {PROTO_Z3950,   CLASS_ELEMSPEC,VAL_ESPEC1,    {11,1,-1},   "Espec-1"     },
 
@@ -412,8 +436,6 @@ static struct oident *oid_getentbyoid_x(int *o)
     struct oident_list *ol;
     
     /* determine protocol type */
-    if (!o)
-        return 0;
     if ((prelen = match_prefix(o, z3950_prefix)) != 0)
         proto = PROTO_Z3950;
     else if ((prelen = match_prefix(o, sr_prefix)) != 0)
@@ -513,6 +535,9 @@ struct oident *oid_addent (int *oid, int proto, int oclass,
 struct oident *oid_getentbyoid(int *oid)
 {
     struct oident *oident;
+
+    if (!oid)
+       return 0;
     oid_init ();
     oident = oid_getentbyoid_x (oid);
     if (!oident)