dsapi_name.h
Go to the documentation of this file.
1 /* Emacs mode: -*- C -*- */
2 
3 /*
4  * Copyright (c) 2004-2010, Isode Limited, London, England.
5  * All rights reserved.
6  *
7  * Acquisition and use of this software and related materials for any
8  * purpose requires a written licence agreement from Isode
9  * Limited, or a written licence from an organisation licenced by Isode
10  * Limited to grant such a licence.
11  *
12  */
13 
14 /*
15  * dsapi_name.h
16  *
17  * Directory client API methods for manipulating directory names.
18  *
19  */
20 
21 /*
22  *
23  *
24  * @VERSION@
25  */
26 
27 #ifndef ISODE_DSAPI_NAME_H
28 #define ISODE_DSAPI_NAME_H
29 
30 #include <stddef.h>
31 #include <isode/ds/dsapi/dsapi_cdecl.h>
33 
59 LIBDSAPI_CDECL
61  const char *str_dn,
62  DS_DN **dn_p
63 );
64 
77 LIBDSAPI_CDECL
79  const DS_DN *dn,
80  char **str_p,
81  size_t *len_p
82 );
83 
109 LIBDSAPI_CDECL
111  const DS_DN *dn,
112  char **str_p,
113  size_t *len_p
114 );
115 
138 LIBDSAPI_CDECL
140  const DS_DN *dn,
141  unsigned int *hash_p
142 );
151 LIBDSAPI_CDECL
153  const DS_DN *dn,
154  const DS_AttrList **attr_list_p
155 );
156 
169 LIBDSAPI_CDECL
171  const DS_AttrList *attr_list,
172  DS_DN **dn_p
173 );
174 
191 LIBDSAPI_CDECL
193  DS_DN *dn,
194  const DS_DN *suffix_dn
195 );
196 
206 LIBDSAPI_CDECL
208  const DS_DN *dn,
209  const DS_DN **dn_p
210 );
211 
225 LIBDSAPI_CDECL
227  const DS_DN *dn1,
228  const DS_DN *dn2,
229  int *notequal_p
230 );
231 
247 LIBDSAPI_CDECL
249  const DS_DN *dn1,
250  const DS_DN *dn2,
251  int *result_p
252 );
253 
263 LIBDSAPI_CDECL
265  const DS_InternalDN *if_dn,
266  DS_DN **dn_p
267 );
268 
278 LIBDSAPI_CDECL
280  const DS_DN *ds_dn,
281  DS_InternalDN **if_dn_p
282 );
283 
289 LIBDSAPI_CDECL
291  DS_InternalDN *if_dn
292 );
293 
299 LIBDSAPI_CDECL
300 void DS_DN_Delete (
301  DS_DN *dn
302 );
303 
313 LIBDSAPI_CDECL
315  const DS_DN *dn,
316  DS_DN **copy_p
317 );
318 
324 LIBDSAPI_CDECL
325 void DS_DNList_Delete (
326  DS_DNList *dn_list
327 );
328 
333 #endif /* ISODE_DSAPI_NAME_H */
DS_Status DS_DN2String(const DS_DN *dn, char **str_p, size_t *len_p)
Convert a DSAPI DN to the LDAPv3 string representation.
struct DS_Attr DS_AttrList
Definition: dsapi_types.h:127
void DS_InternalDN_Delete(DS_InternalDN *if_dn)
Free an internal representation of a DN.
struct DS_DN DS_DN
Definition: dsapi_types.h:103
DS_Status
Definition: dsapi_const.h:66
struct IF_Dn DS_InternalDN
Definition: dsapi_types.h:165
DS_Status DS_DN_GetRDN(const DS_DN *dn, const DS_AttrList **attr_list_p)
Return the RDN (a set of attributes) of the given directory name.
void DS_DNList_Delete(DS_DNList *dn_list)
Free a DN list.
DS_Status DS_RDN2DN(const DS_AttrList *attr_list, DS_DN **dn_p)
Convert a set of attributes (an RDN) to a DSAPI DN.
DS_Status DS_InternalDN2DSDN(const DS_InternalDN *if_dn, DS_DN **dn_p)
Convert an internal representation of a DN into a DN.
DS_Status DS_DN_AppendDN(DS_DN *dn, const DS_DN *suffix_dn)
Append another DN to this DN.
DS_Status DS_DN2CanonicalString(const DS_DN *dn, char **str_p, size_t *len_p)
Obtain a canonical string representation of a DSAPI DN.
DS_Status DS_DN_Copy(const DS_DN *dn, DS_DN **copy_p)
Copy a DN.
DS_Status DS_DSDN2InternalDN(const DS_DN *ds_dn, DS_InternalDN **if_dn_p)
Convert a DN into an internal representation of a DN.
DS_Status DS_DN_GetParentDN(const DS_DN *dn, const DS_DN **dn_p)
Return the parent of a DN.
DS_Status DS_DN_OrderCompareDN(const DS_DN *dn1, const DS_DN *dn2, int *result_p)
Compare two DNs for ordering.
DS_Status DS_String2DN(const char *str_dn, DS_DN **dn_p)
Convert an LDAPv3 string formatted DN to the API structure.
struct DS_DN DS_DNList
Definition: dsapi_types.h:139
void DS_DN_Delete(DS_DN *dn)
Free a DN.
DS_Status DS_DN_CompareDN(const DS_DN *dn1, const DS_DN *dn2, int *notequal_p)
Compare two DNs.
Directory API type definitions and forward declarations of private types.
DS_Status DS_DN_GetHashCode(const DS_DN *dn, unsigned int *hash_p)
Derive a hash code based on the canonical representation of the target DSAPI DN.

All rights reserved © 2002 - 2024 Isode Ltd.