X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=include%2Fyaz%2Foid_util.h;h=054c98ebcf63b80560ca0a49468c0540a940d51f;hp=c2012258002e769ca8568ac6d597e559deaf02fa;hb=7d7e192def2fef342d235ea894eddb1e89edd714;hpb=d940392c53c32ccf76fb287cc5b997b9e921a431 diff --git a/include/yaz/oid_util.h b/include/yaz/oid_util.h index c201225..054c98e 100644 --- a/include/yaz/oid_util.h +++ b/include/yaz/oid_util.h @@ -1,5 +1,5 @@ /* This file is part of the YAZ toolkit. - * Copyright (C) 1995-2008 Index Data. + * Copyright (C) 1995-2011 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: @@ -51,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 @@ -64,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