dsapi_name.h

Go to the documentation of this file.
00001 /* Emacs mode: -*- C -*- */
00002 
00003 /* 
00004  * Copyright (c) 2004-2006, Isode Limited, London, England.
00005  * All rights reserved.
00006  *
00007  * Acquisition and use of this software and related materials for any
00008  * purpose requires a written licence agreement from Isode
00009  * Limited, or a written licence from an organisation licenced by Isode
00010  * Limited to grant such a licence.
00011  *
00012  */
00013 
00014 /*
00015  * dsapi_name.h
00016  *
00017  * Directory client API methods for manipulating directory names.
00018  *
00019  */
00020 
00021 /* 
00022  * $RCSfile: dsapi_name.h,v $ $Revision: 1.24 $ $State: Exp $
00023  *
00024  * $Log: dsapi_name.h,v $
00025  * Revision 1.24  2007/08/22 14:35:15  nh
00026  * T070821J - New function DS_DN_GetHashCode
00027  *
00028  * Revision 1.23  2007/07/19 16:16:46  jp
00029  * T070718L - Add call for comparing DNs
00030  *
00031  * Revision 1.22  2007/06/25 10:24:06  jp
00032  * T070622B - Change misleading name of DS_DN_CompareDN parameter to 'notequal'
00033  *
00034  * Revision 1.21  2007/05/15 13:18:30  dbw
00035  * T070515D - Update/Add copyright
00036  *
00037  * Revision 1.20  2006/11/10 13:40:35  cjr
00038  * T061110D - Add \since annotations to functions added since 1.0.
00039  *
00040  * Revision 1.19  2006/09/25 10:48:26  cjr
00041  * T060925D - Add missing end groups.
00042  *
00043  * Revision 1.18  2006/06/21 14:10:14  nh
00044  * T060621A - DS_DN_GetParentDN can now return DS_E_BADDN
00045  *
00046  * Revision 1.17  2006/06/14 12:53:45  nh
00047  * T060614A - Clarify doc for DS_DN_AppensDN, fix doxygen warning
00048  *
00049  * Revision 1.16  2006/03/14 14:48:44  cjr
00050  * T060314E - Restore open braces, and balance them.
00051  *
00052  * Revision 1.15  2006/01/23 16:15:57  brs
00053  * T060123D - Remove some open braces.
00054  *
00055  * Revision 1.14  2005/07/12 15:46:54  cjr
00056  * T050712F - Permit NULL parameters.
00057  *
00058  * Revision 1.13  2005/07/04 12:23:45  cjr
00059  * T050704A - Change result types to DS_Status.
00060  *
00061  * Revision 1.12  2005/06/30 15:48:13  cjr
00062  * T050630H - Add DS_RDN2DN().
00063  *
00064  * Revision 1.11  2005/05/31 16:26:08  brs
00065  * typo
00066  *
00067  * Revision 1.10  2005/05/25 16:06:50  dbw
00068  * T050525C - Add or update copyright for 2005
00069  *
00070  * Revision 1.9  2005/04/05 09:30:42  cjr
00071  * T050405A - Move dsapi to under apps/ds.
00072  *
00073  * Revision 1.8  2005/03/03 16:34:52  cjr
00074  * T050303G - Add DS_DN_CompareDN.
00075  *
00076  * Revision 1.7  2005/02/25 15:34:17  cjr
00077  * T050225A - Add DS_InternalDN_Delete.
00078  *
00079  * Revision 1.6  2005/02/25 12:47:36  cjr
00080  * T050223E - Improve documentation
00081  *
00082  * Revision 1.5  2005/02/21 16:28:49  cjr
00083  * T050221D - Add DS_DSDN2InternalDN and DS_InternalDN2DSDN.
00084  *
00085  * Revision 1.4  2005/02/18 14:29:05  cjr
00086  * T050218A - Add DS_DN_Copy and DS_AppendDN. Remove extra endgroup.
00087  *
00088  * Revision 1.3  2005/02/17 15:50:30  cjr
00089  * T050217E - Change type of len_p to size_t in DS_DN2String.
00090  *
00091  * Revision 1.2  2005/02/15 15:19:47  cjr
00092  * T050215E - Removed \fn commands.
00093  *
00094  * Revision 1.1  2005/01/24 17:19:58  dsm
00095  * T050124B - Initial revision.
00096  *
00097  *
00098  */
00099 
00100 #ifndef ISODE_DSAPI_NAME_H
00101 #define ISODE_DSAPI_NAME_H
00102 
00103 #include <stddef.h>
00104 #include <isode/ds/dsapi/dsapi_cdecl.h>
00105 #include <isode/ds/dsapi/dsapi_types.h>
00106 
00132 LIBDSAPI_CDECL
00133 DS_Status DS_String2DN (
00134     const char  *str_dn,
00135     DS_DN      **dn_p
00136 );
00137 
00150 LIBDSAPI_CDECL
00151 DS_Status DS_DN2String (
00152     const DS_DN  *dn,
00153     char        **str_p,
00154     size_t       *len_p
00155 );
00156 
00177 LIBDSAPI_CDECL
00178 DS_Status DS_DN_GetHashCode (
00179     const DS_DN  *dn,
00180     unsigned int *hash_p
00181 );
00190 LIBDSAPI_CDECL
00191 DS_Status DS_DN_GetRDN (
00192     const DS_DN        *dn,
00193     const DS_AttrList **attr_list_p
00194 );
00195 
00207 LIBDSAPI_CDECL
00208 DS_Status DS_RDN2DN (
00209     const DS_AttrList  *attr_list,
00210     DS_DN             **dn_p
00211 );
00212 
00229 LIBDSAPI_CDECL 
00230 DS_Status DS_DN_AppendDN (
00231     DS_DN       *dn,
00232     const DS_DN *suffix_dn
00233 );
00234 
00244 LIBDSAPI_CDECL 
00245 DS_Status DS_DN_GetParentDN (
00246     const DS_DN  *dn,
00247     const DS_DN **dn_p
00248 );
00249 
00263 LIBDSAPI_CDECL
00264 DS_Status DS_DN_CompareDN (
00265     const DS_DN *dn1,
00266     const DS_DN *dn2,
00267     int         *notequal_p
00268 );
00269 
00285 LIBDSAPI_CDECL
00286 DS_Status DS_DN_OrderCompareDN (
00287     const DS_DN *dn1,
00288     const DS_DN *dn2,
00289     int         *result_p
00290 );
00291 
00301 LIBDSAPI_CDECL
00302 DS_Status DS_InternalDN2DSDN (
00303     const DS_InternalDN  *if_dn,
00304     DS_DN               **dn_p
00305 );
00306 
00316 LIBDSAPI_CDECL
00317 DS_Status DS_DSDN2InternalDN (
00318     const DS_DN    *ds_dn,
00319     DS_InternalDN **if_dn_p
00320 );
00321 
00327 LIBDSAPI_CDECL
00328 void DS_InternalDN_Delete (
00329     DS_InternalDN *if_dn
00330 );
00331 
00337 LIBDSAPI_CDECL
00338 void DS_DN_Delete (
00339     DS_DN *dn
00340 );
00341 
00351 LIBDSAPI_CDECL
00352 DS_Status DS_DN_Copy (
00353     const DS_DN  *dn,
00354     DS_DN       **copy_p
00355 );
00356 
00362 LIBDSAPI_CDECL
00363 void DS_DNList_Delete (
00364     DS_DNList *dn_list
00365 );
00366 
00371 #endif /* ISODE_DSAPI_NAME_H */
Copyright © 2008 Isode privacy   feedback Subscribe to our rss newsfeed