X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fyaz%2Foid.h;h=fb38708e7478ea636fd438648252a7d97df0761e;hb=4c176312acdc3444c9afc820f76a393e64668e52;hp=efd18ed411edc02448820f02a2b2afe7fb8b4d0f;hpb=09c145d7b569e19acd43a50a53c3a8846f7a1c43;p=yaz-moved-to-github.git diff --git a/include/yaz/oid.h b/include/yaz/oid.h index efd18ed..fb38708 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,17 +23,23 @@ * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE * OF THIS SOFTWARE. * - * $Id: oid.h,v 1.4 2000-01-10 15:16:53 adam Exp $ + * $Id: oid.h,v 1.24 2005-01-15 19:47:09 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 #include -#ifdef __cplusplus -extern "C" { -#endif +YAZ_BEGIN_CDECL #define OID_SIZE 20 @@ -43,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 @@ -63,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 @@ -73,102 +81,155 @@ typedef enum oid_value VAL_BER, VAL_BASIC_CTX, VAL_BIB1, + VAL_EXP1, VAL_EXT1, VAL_CCL1, VAL_GILS, - VAL_WAIS, + VAL_WAIS, +/* 10 */ VAL_STAS, VAL_COLLECT1, VAL_CIMI1, VAL_GEO, VAL_DIAG1, + VAL_ISO2709, VAL_UNIMARC, VAL_INTERMARC, VAL_CCF, VAL_USMARC, +/* 20 */ VAL_UKMARC, VAL_NORMARC, VAL_LIBRISMARC, VAL_DANMARC, VAL_FINMARC, + VAL_MAB, VAL_CANMARC, VAL_SBN, VAL_PICAMARC, VAL_AUSMARC, +/* 30 */ VAL_IBERMARC, VAL_CATMARC, VAL_MALMARC, VAL_EXPLAIN, VAL_SUTRS, + VAL_OPAC, VAL_SUMMARY, VAL_GRS0, VAL_GRS1, VAL_EXTENDED, +/* 40 */ VAL_FRAGMENT, VAL_RESOURCE1, VAL_RESOURCE2, VAL_PROMPT1, VAL_DES1, + VAL_KRB1, VAL_PRESSET, VAL_PQUERY, VAL_PCQUERY, VAL_ITEMORDER, + +/* 50 */ VAL_DBUPDATE0, VAL_DBUPDATE, VAL_EXPORTSPEC, VAL_EXPORTINV, VAL_NONE, + VAL_SETM, VAL_SETG, VAL_VAR1, VAL_ESPEC1, VAL_SOIF, + +/* 60 */ VAL_SEARCHRES1, VAL_THESAURUS, VAL_CHARLANG, VAL_USERINFO1, VAL_MULTISRCH1, + VAL_MULTISRCH2, VAL_DATETIME, VAL_SQLRS, VAL_PDF, VAL_POSTSCRIPT, + +/* 70 */ VAL_HTML, VAL_TIFF, VAL_GIF, VAL_JPEG, VAL_PNG, + VAL_MPEG, VAL_SGML, VAL_TIFFB, VAL_WAV, VAL_UPDATEES, + +/* 80 */ VAL_TEXT_XML, VAL_APPLICATION_XML, VAL_UNIVERSE_REPORT, VAL_PROXY, VAL_COOKIE, + VAL_CLIENT_IP, VAL_ISO_ILL_1, VAL_ZBIG, VAL_UTIL, VAL_XD1, + +/* 90 */ VAL_ZTHES, VAL_FIN1, VAL_DAN1, VAL_DIAG_ES, VAL_DIAG_GENERAL, + VAL_JPMARC, VAL_SWEMARC, VAL_SIGLEMARC, VAL_ISDSMARC, VAL_RUSMARC, -/* add new types here... */ + +/* 100 */ + VAL_ADMINSERVICE, + VAL_HOLDINGS, + VAL_HUNMARC, + 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_DYNAMIC must have highest value */ VAL_DYNAMIC, @@ -196,11 +257,17 @@ 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); + +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); -#ifdef __cplusplus -} -#endif +YAZ_END_CDECL #endif