X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=include%2Fyaz%2Foid_util.h;h=5564e23395fe94e6bf921ccdea216a262981be5e;hp=c2012258002e769ca8568ac6d597e559deaf02fa;hb=a6b61b9f8b6576e8159a4e7e6aee88bba7e5d07d;hpb=d940392c53c32ccf76fb287cc5b997b9e921a431 diff --git a/include/yaz/oid_util.h b/include/yaz/oid_util.h index c201225..5564e23 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) 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: @@ -45,17 +45,53 @@ typedef enum oid_proto { PROTO_NOP=0, PROTO_Z3950, - PROTO_SR, - PROTO_GENERAL, - PROTO_WAIS, 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 +100,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