X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fyaz%2Foid.h;h=05849fef8a2ba36502450f8644ee37c4ce7f88ff;hb=cf139020e5158b2a6ab6ba7cfb04df3d85c74f4b;hp=45fcd764fee48f3fdb2a5ce3666243980d312620;hpb=dc8023116d26e0999aa8a2cc4372baae55f28adb;p=yaz-moved-to-github.git diff --git a/include/yaz/oid.h b/include/yaz/oid.h index 45fcd76..05849fe 100644 --- a/include/yaz/oid.h +++ b/include/yaz/oid.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 1995-2000, Index Data. + * Copyright (C) 1995-2005, Index Data ApS * * Permission to use, copy, modify, distribute, and sell this software and * its documentation, in whole or in part, for any purpose, is hereby granted, @@ -23,9 +23,17 @@ * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE * OF THIS SOFTWARE. * - * $Id: oid.h,v 1.8 2001-10-29 09:16:27 adam Exp $ + * $Id: oid.h,v 1.27 2005-06-25 15:46:03 adam Exp $ */ +/** + * \file oid.h + * \brief Header for OID database + * + * More or less protocol-transparent OID database. + * We could (and should?) extend this so that the user app can add new + * entries to the list at initialization. + */ #ifndef OID_H #define OID_H @@ -41,7 +49,8 @@ typedef enum oid_proto PROTO_Z3950, PROTO_SR, PROTO_GENERAL, - PROTO_WAIS + PROTO_WAIS, + PROTO_HTTP } oid_proto; typedef enum oid_class @@ -61,7 +70,8 @@ typedef enum oid_class CLASS_VARSET, CLASS_SCHEMA, CLASS_TAGSET, - CLASS_GENERAL + CLASS_GENERAL, + CLASS_NEGOT } oid_class; typedef enum oid_value @@ -195,7 +205,32 @@ typedef enum oid_value VAL_ADMINSERVICE, VAL_HOLDINGS, VAL_HUNMARC, -/* add new types here... */ + VAL_CHARNEG3, + VAL_LIB1, + + VAL_VIRT, + VAL_UCS2, + VAL_UCS4, + VAL_UTF16, + VAL_UTF8, +/* 110 */ + + VAL_IDXPATH, + VAL_BIB2, + VAL_ZEEREX, + VAL_CQL, + VAL_DBUPDATE1, + + VAL_OCLCUI, + VAL_ID_CHARSET, + VAL_EXTLITE, + VAL_NACSISCATP, + VAL_FINMARC2000, +/* 120 */ + + VAL_MARC21FIN, + VAL_CHARNEG4, + VAL_XMLES, /* VAL_DYNAMIC must have highest value */ VAL_DYNAMIC, @@ -221,11 +256,27 @@ 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); + enum oid_class oclass, + const char *desc, int value); + +YAZ_EXPORT void oid_trav (void (*func)(struct oident *oidinfo, void *vp), + void *vp); + YAZ_EXPORT void oid_init(void); YAZ_EXPORT void oid_exit(void); +YAZ_EXPORT int *oid_name_to_oid(oid_class oclass, const char *name, int *oid); +YAZ_EXPORT char *oid_to_dotstring(const int *oid, char *oidbuf); +YAZ_EXPORT char *oid_name_to_dotstring(oid_class oclass, const char *name, + char *oidbuf); YAZ_END_CDECL #endif +/* + * Local variables: + * c-basic-offset: 4 + * indent-tabs-mode: nil + * End: + * vim: shiftwidth=4 tabstop=8 expandtab + */ +