00001 /* This file is part of the YAZ toolkit. 00002 * Copyright (C) 1995-2008 Index Data. 00003 * All rights reserved. 00004 * Redistribution and use in source and binary forms, with or without 00005 * modification, are permitted provided that the following conditions are met: 00006 * 00007 * * Redistributions of source code must retain the above copyright 00008 * notice, this list of conditions and the following disclaimer. 00009 * * Redistributions in binary form must reproduce the above copyright 00010 * notice, this list of conditions and the following disclaimer in the 00011 * documentation and/or other materials provided with the distribution. 00012 * * Neither the name of Index Data nor the names of its contributors 00013 * may be used to endorse or promote products derived from this 00014 * software without specific prior written permission. 00015 * 00016 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY 00017 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 00018 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 00019 * DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY 00020 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 00021 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 00022 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 00023 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 00024 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 00025 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00026 */ 00027 00032 #ifndef OID_UTIL_H 00033 #define OID_UTIL_H 00034 00035 #include <yaz/yconfig.h> 00036 00037 YAZ_BEGIN_CDECL 00038 00039 #define OID_SIZE 20 00040 #define OID_STR_MAX 256 00041 00042 typedef short Odr_oid; /* terminate by -1 */ 00043 00044 typedef enum oid_proto 00045 { 00046 PROTO_NOP=0, 00047 PROTO_Z3950, 00048 PROTO_SR, 00049 PROTO_GENERAL, 00050 PROTO_WAIS, 00051 PROTO_HTTP 00052 } oid_proto; 00053 00054 00059 YAZ_EXPORT void oid_oidcpy(Odr_oid *t, const Odr_oid *s); 00060 00065 YAZ_EXPORT void oid_oidcat(Odr_oid *t, const Odr_oid *s); 00066 00067 00075 YAZ_EXPORT int oid_oidcmp(const Odr_oid *o1, const Odr_oid *o2); 00076 00077 00082 YAZ_EXPORT int oid_oidlen(const Odr_oid *o); 00083 00089 YAZ_EXPORT char *oid_oid_to_dotstring(const Odr_oid *oid, char *oidbuf); 00090 00091 00098 YAZ_EXPORT int oid_dotstring_to_oid(const char *name, Odr_oid *oid); 00099 00100 YAZ_END_CDECL 00101 00102 #endif 00103 /* 00104 * Local variables: 00105 * c-basic-offset: 4 00106 * indent-tabs-mode: nil 00107 * End: 00108 * vim: shiftwidth=4 tabstop=8 expandtab 00109 */ 00110
1.5.6