⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 oid.c

📁 harvest是一个下载html网页得机器人
💻 C
📖 第 1 页 / 共 2 页
字号:
/* * Copyright (c) 1995-2003, Index Data * See the file LICENSE for details. * * $Id: oid.c,v 1.67 2003/09/02 12:12:13 adam Exp $ *//* * 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. */#if HAVE_CONFIG_H#include <config.h>#endif#include <stdlib.h>#include <string.h>#include <ctype.h>#include <yaz/oid.h>#include <yaz/yaz-util.h>static int z3950_prefix[] = { 1, 2, 840, 10003, -1 };static int sr_prefix[]    = { 1, 0, 10163, -1 };struct oident_list {    struct oident oident;    struct oident_list *next;};static struct oident_list *oident_table = NULL;static int oid_value_dynamic = VAL_DYNAMIC;static int oid_init_flag = 0;static NMEM_MUTEX oid_mutex = 0;static NMEM oid_nmem = 0;/* * OID database */static oident standard_oids[] ={    /* General definitions */    {PROTO_GENERAL, CLASS_TRANSYN, VAL_BER,          {2,1,1,-1},     "BER" },    {PROTO_GENERAL, CLASS_TRANSYN, VAL_ISO2709,      {1,0,2709,1,1,-1},     "ISO2709"},    {PROTO_GENERAL, CLASS_GENERAL, VAL_ISO_ILL_1,    {1,0,10161,2,1,-1},     "ISOILL-1"},    /* Z39.50v3 definitions */    {PROTO_Z3950,   CLASS_ABSYN,   VAL_APDU,         {2,1,-1},     "Z-APDU"},        {PROTO_Z3950,   CLASS_APPCTX,  VAL_BASIC_CTX,    {1,1,-1},     "Z-BASIC"},    {PROTO_Z3950,   CLASS_ATTSET,  VAL_BIB1,         {3,1,-1},     "Bib-1"},    {PROTO_Z3950,   CLASS_ATTSET,  VAL_EXP1,         {3,2,-1},     "Exp-1"},    {PROTO_Z3950,   CLASS_ATTSET,  VAL_EXT1,         {3,3,-1},     "Ext-1"},    {PROTO_Z3950,   CLASS_ATTSET,  VAL_CCL1,         {3,4,-1},     "CCL-1"},    {PROTO_Z3950,   CLASS_ATTSET,  VAL_GILS,         {3,5,-1},     "GILS-attset"},    {PROTO_Z3950,   CLASS_ATTSET,  VAL_GILS,         {3,5,-1},     "GILS"},    {PROTO_Z3950,   CLASS_ATTSET,  VAL_STAS,         {3,6,-1},     "STAS-attset"},    {PROTO_Z3950,   CLASS_ATTSET,  VAL_COLLECT1,     {3,7,-1},     "Collections-attset"},    {PROTO_Z3950,   CLASS_ATTSET,  VAL_CIMI1,        {3,8,-1},     "CIMI-attset"},    {PROTO_Z3950,   CLASS_ATTSET,  VAL_GEO,          {3,9,-1},     "Geo-attset"},    {PROTO_Z3950,   CLASS_ATTSET,  VAL_ZBIG,         {3,10,-1},     "ZBIG"},    {PROTO_Z3950,   CLASS_ATTSET,  VAL_UTIL,         {3,11,-1},     "Util"},    {PROTO_Z3950,   CLASS_ATTSET,  VAL_XD1,          {3,12,-1},     "XD-1"},    {PROTO_Z3950,   CLASS_ATTSET,  VAL_ZTHES,        {3,13,-1},     "Zthes"},    {PROTO_Z3950,   CLASS_ATTSET,  VAL_FIN1,         {3,14,-1},     "Fin-1"},    {PROTO_Z3950,   CLASS_ATTSET,  VAL_DAN1,         {3,15,-1},     "Dan-1"},    {PROTO_Z3950,   CLASS_ATTSET,  VAL_HOLDINGS,     {3,16,-1},     "Holdings"},    {PROTO_Z3950,   CLASS_ATTSET,  VAL_USMARC,       {3,17,-1},     "MARC"},    {PROTO_Z3950,   CLASS_ATTSET,  VAL_BIB2,         {3,18,-1},     "Bib-2"},    {PROTO_Z3950,   CLASS_ATTSET,  VAL_ZEEREX,       {3,19,-1},     "ZeeRex"},#if 0  /* This is the spawn of Satan.  Use Zthes-1 instead */    {PROTO_Z3950,   CLASS_ATTSET,  VAL_THESAURUS,    {3,1000,81,1,-1},          "Thesaurus-attset"},#endif /*0*/    {PROTO_Z3950,   CLASS_ATTSET,  VAL_IDXPATH,      {3,1000,81,2,-1},     "IDXPATH"},    {PROTO_Z3950,   CLASS_DIAGSET, VAL_BIB1,         {4,1,-1},     "Bib-1"},    {PROTO_Z3950,   CLASS_DIAGSET, VAL_DIAG1,        {4,2,-1},     "Diag-1"},    {PROTO_Z3950,   CLASS_DIAGSET, VAL_DIAG_ES,      {4,3,-1},     "Diag-ES"},    {PROTO_Z3950,   CLASS_DIAGSET, VAL_DIAG_GENERAL, {4,3,-1},     "Diag-General"},    {PROTO_Z3950,   CLASS_RECSYN,  VAL_UNIMARC,      {5,1,-1},     "Unimarc"},    {PROTO_Z3950,   CLASS_RECSYN,  VAL_INTERMARC,    {5,2,-1},     "Intermarc"},    {PROTO_Z3950,   CLASS_RECSYN,  VAL_CCF,          {5,3,-1},     "CCF"},    {PROTO_Z3950,   CLASS_RECSYN,  VAL_USMARC,       {5,10,-1},     "USmarc"},    {PROTO_Z3950,   CLASS_RECSYN,  VAL_UKMARC,       {5,11,-1},     "UKmarc"},    {PROTO_Z3950,   CLASS_RECSYN,  VAL_NORMARC,      {5,12,-1},     "Normarc"},    {PROTO_Z3950,   CLASS_RECSYN,  VAL_LIBRISMARC,   {5,13,-1},     "Librismarc"},    {PROTO_Z3950,   CLASS_RECSYN,  VAL_DANMARC,      {5,14,-1},     "Danmarc"},    {PROTO_Z3950,   CLASS_RECSYN,  VAL_FINMARC,      {5,15,-1},     "Finmarc"},    {PROTO_Z3950,   CLASS_RECSYN,  VAL_MAB,          {5,16,-1},     "MAB"},    {PROTO_Z3950,   CLASS_RECSYN,  VAL_CANMARC,      {5,17,-1},     "Canmarc"},    {PROTO_Z3950,   CLASS_RECSYN,  VAL_SBN,          {5,18,-1},     "SBN"},    {PROTO_Z3950,   CLASS_RECSYN,  VAL_PICAMARC,     {5,19,-1},     "Picamarc"},    {PROTO_Z3950,   CLASS_RECSYN,  VAL_AUSMARC,      {5,20,-1},     "Ausmarc"},    {PROTO_Z3950,   CLASS_RECSYN,  VAL_IBERMARC,     {5,21,-1},     "Ibermarc"},    {PROTO_Z3950,   CLASS_RECSYN,  VAL_CATMARC,      {5,22,-1},     "Carmarc"},    {PROTO_Z3950,   CLASS_RECSYN,  VAL_MALMARC,      {5,23,-1},     "Malmarc"},    {PROTO_Z3950,   CLASS_RECSYN,  VAL_JPMARC,       {5,24,-1},     "JPmarc"},    {PROTO_Z3950,   CLASS_RECSYN,  VAL_SWEMARC,      {5,25,-1},     "SWEmarc"},    {PROTO_Z3950,   CLASS_RECSYN,  VAL_SIGLEMARC,    {5,26,-1},     "SIGLEmarc"},    {PROTO_Z3950,   CLASS_RECSYN,  VAL_ISDSMARC,     {5,27,-1},     "ISDSmarc"},    {PROTO_Z3950,   CLASS_RECSYN,  VAL_RUSMARC,      {5,28,-1},     "RUSmarc"},    {PROTO_Z3950,   CLASS_RECSYN,  VAL_HUNMARC,      {5,29,-1},     "Hunmarc"},    {PROTO_Z3950,   CLASS_RECSYN,  VAL_EXPLAIN,      {5,100,-1},     "Explain"},    {PROTO_Z3950,   CLASS_RECSYN,  VAL_SUTRS,        {5,101,-1},     "SUTRS"},    {PROTO_Z3950,   CLASS_RECSYN,  VAL_OPAC,         {5,102,-1},     "OPAC"},    {PROTO_Z3950,   CLASS_RECSYN,  VAL_SUMMARY,      {5,103,-1},     "Summary"},    {PROTO_Z3950,   CLASS_RECSYN,  VAL_GRS0,         {5,104,-1},     "GRS-0"},    {PROTO_Z3950,   CLASS_RECSYN,  VAL_GRS1,         {5,105,-1},     "GRS-1"},    {PROTO_Z3950,   CLASS_RECSYN,  VAL_EXTENDED,     {5,106,-1},     "Extended"},    {PROTO_Z3950,   CLASS_RECSYN,  VAL_FRAGMENT,     {5,107,-1},     "Fragment"},    {PROTO_Z3950,   CLASS_RECSYN,  VAL_PDF,          {5,109,1,-1},     "pdf"},    {PROTO_Z3950,   CLASS_RECSYN,  VAL_POSTSCRIPT,   {5,109,2,-1},     "postscript"},    {PROTO_Z3950,   CLASS_RECSYN,  VAL_HTML,         {5,109,3,-1},     "html"},    {PROTO_Z3950,   CLASS_RECSYN,  VAL_TIFF,         {5,109,4,-1},     "tiff"},    {PROTO_Z3950,   CLASS_RECSYN,  VAL_GIF,          {5,109,5,-1},     "gif"},    {PROTO_Z3950,   CLASS_RECSYN,  VAL_JPEG,         {5,109,6,-1},     "jpeg"},    {PROTO_Z3950,   CLASS_RECSYN,  VAL_PNG,          {5,109,7,-1},     "png"},    {PROTO_Z3950,   CLASS_RECSYN,  VAL_MPEG,         {5,109,8,-1},     "mpeg"},    {PROTO_Z3950,   CLASS_RECSYN,  VAL_SGML,         {5,109,9,-1},     "sgml"},    {PROTO_Z3950,   CLASS_RECSYN,  VAL_TIFFB,        {5,110,1,-1},     "tiff-b"},    {PROTO_Z3950,   CLASS_RECSYN,  VAL_WAV,          {5,110,2,-1},     "wav"},    {PROTO_Z3950,   CLASS_RECSYN,  VAL_SQLRS,        {5,111,-1},     "SQL-RS"},    {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"},    {PROTO_Z3950,   CLASS_ACCFORM, VAL_PROMPT1,      {8,1,-1},     "Prompt-1"},    {PROTO_Z3950,   CLASS_ACCFORM, VAL_DES1,         {8,2,-1},     "Des-1"},    {PROTO_Z3950,   CLASS_ACCFORM, VAL_KRB1,         {8,3,-1},     "Krb-1"},    {PROTO_Z3950,   CLASS_EXTSERV, VAL_PRESSET,      {9,1,-1},     "Pers. set"},    {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_DBUPDATE0,    {9,5,-1},     "DB. Update (first version)"},    {PROTO_Z3950,   CLASS_EXTSERV, VAL_DBUPDATE1,    {9,5,1,-1},     "DB. Update (second version)"},    {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."},    {PROTO_Z3950,   CLASS_EXTSERV, VAL_ADMINSERVICE, {9,1000,81,1,-1},     "Admin"},    {PROTO_Z3950,   CLASS_USERINFO,VAL_SEARCHRES1,   {10,1,-1},     "searchResult-1"},    {PROTO_Z3950,   CLASS_USERINFO,VAL_CHARLANG,     {10,2,-1},     "CharSetandLanguageNegotiation"},    {PROTO_Z3950,   CLASS_USERINFO,VAL_USERINFO1,    {10,3,-1},     "UserInfo-1"},    {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_COOKIE,       {10,1000,81,2,-1},     "Cookie" },    {PROTO_Z3950,   CLASS_USERINFO,VAL_CLIENT_IP,    {10,1000,81,3,-1},     "Client-IP" },    {PROTO_Z3950,   CLASS_ELEMSPEC,VAL_ESPEC1,       {11,1,-1},     "Espec-1"},    {PROTO_Z3950,   CLASS_VARSET,  VAL_VAR1,         {12,1,-1},     "Variant-1"},    {PROTO_Z3950,   CLASS_SCHEMA,  VAL_WAIS,         {13,1,-1},     "WAIS-schema"},    {PROTO_Z3950,   CLASS_SCHEMA,  VAL_GILS,         {13,2,-1},     "GILS-schema"},    {PROTO_Z3950,   CLASS_SCHEMA,  VAL_COLLECT1,     {13,3,-1},     "Collections-schema"},    {PROTO_Z3950,   CLASS_SCHEMA,  VAL_GEO,          {13,4,-1},     "Geo-schema"},    {PROTO_Z3950,   CLASS_SCHEMA,  VAL_CIMI1,        {13,5,-1},     "CIMI-schema"},    {PROTO_Z3950,   CLASS_SCHEMA,  VAL_UPDATEES,     {13,6,-1},     "Update ES"},    {PROTO_Z3950,   CLASS_SCHEMA,  VAL_HOLDINGS,     {13,7,-1},     "Holdings"},    {PROTO_Z3950,   CLASS_SCHEMA,  VAL_ZTHES,        {13,8,-1},     "Zthes"},    {PROTO_Z3950,   CLASS_SCHEMA,  VAL_THESAURUS,    {13,1000,81,1,-1},     "thesaurus-schema"},    {PROTO_Z3950,   CLASS_SCHEMA,  VAL_EXPLAIN,      {13,1000,81,2,-1},     "Explain-schema"},    {PROTO_Z3950,   CLASS_TAGSET,  VAL_SETM,         {14,1,-1},     "TagsetM"},    {PROTO_Z3950,   CLASS_TAGSET,  VAL_SETG,         {14,2,-1},     "TagsetG"},    {PROTO_Z3950,   CLASS_TAGSET,  VAL_STAS,         {14,3,-1},     "STAS-tagset"},    {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"},	/* What is this Satan-spawn doing here? */    {PROTO_Z3950,   CLASS_TAGSET,  VAL_EXPLAIN,      {14,1000,81,2,-1},     "Explain-tagset"},    {PROTO_Z3950,   CLASS_TAGSET,  VAL_ZTHES,        {14,8,-1},     "Zthes-tagset"},    {PROTO_Z3950,   CLASS_NEGOT,   VAL_CHARNEG3,     {15,3,-1},     "CharSetandLanguageNegotiation-3"},    {PROTO_Z3950,   CLASS_NEGOT,   VAL_ID_CHARSET,   {15,1000,81,1,-1},     "ID-Charset" },    {PROTO_Z3950,   CLASS_USERINFO,VAL_CQL,          {16, 2, -1},     "CQL"},    {PROTO_GENERAL, CLASS_GENERAL, VAL_UCS2,    {1,0,10646,1,0,2,-1},     "UCS-2"},    {PROTO_GENERAL, CLASS_GENERAL, VAL_UCS4,    {1,0,10646,1,0,4,-1},     "UCS-4"},

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -