X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=include%2Fyaz%2Foid_util.h;h=e53577017530b1331b244e2489692221d4c841e4;hp=42b8c07268f52ebae11116d8c8942e6ce203ffac;hb=dbc40ad16aa82379d2884e106d79c7d83312667a;hpb=7a98e9bfbb9d5fe7d44822a9838e3becbdce9363 diff --git a/include/yaz/oid_util.h b/include/yaz/oid_util.h index 42b8c07..e535770 100644 --- a/include/yaz/oid_util.h +++ b/include/yaz/oid_util.h @@ -1,5 +1,5 @@ -/* - * Copyright (c) 1995-2007, Index Data +/* This file is part of the YAZ toolkit. + * Copyright (C) 1995-2013 Index Data. * All rights reserved. * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -24,7 +24,6 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -/* $Id: oid_util.h,v 1.4 2007-05-08 08:22:35 adam Exp $ */ /** * \file oid_util.h @@ -52,11 +51,50 @@ typedef enum oid_proto PROTO_HTTP } oid_proto; + +/** \brief copies OID + \param t destination OID + \param s source OID +*/ YAZ_EXPORT void oid_oidcpy(Odr_oid *t, const Odr_oid *s); + +/** \brief appends to OID + \param t destination OID + \param s source OID +*/ YAZ_EXPORT void oid_oidcat(Odr_oid *t, const Odr_oid *s); + + +/** \brief compares OIDs + \param o1 first OID + \param o2 second OID + \retval 0 equal + \retval >0 o1 greater than o2 + \retval <0 o1 less than o2 +*/ YAZ_EXPORT int oid_oidcmp(const Odr_oid *o1, const Odr_oid *o2); + + +/** \brief returns length of OIDs + \param o OID + \returns length as number of Odr_oids +*/ YAZ_EXPORT int oid_oidlen(const Odr_oid *o); + +/** \brief converts OID to string (dot notation) + \param oid OID + \param oidbuf resulting buffer which should be at least of size OID_STR_MAX + \returns result (same as oidbuf) +*/ YAZ_EXPORT char *oid_oid_to_dotstring(const Odr_oid *oid, char *oidbuf); + + +/** \brief converts dot string to OID + \param name dot string OID, e.g. "1.2.840.10003.2.1" + \param oid resulting OID buffer which should be at least of size OID_SIZE + \retval 0 OK + \retval -1 failure +*/ YAZ_EXPORT int oid_dotstring_to_oid(const char *name, Odr_oid *oid); YAZ_END_CDECL @@ -65,6 +103,7 @@ YAZ_END_CDECL /* * Local variables: * c-basic-offset: 4 + * c-file-style: "Stroustrup" * indent-tabs-mode: nil * End: * vim: shiftwidth=4 tabstop=8 expandtab