Summary: Isode provides a number of APIs which allow integrators and product developers to build components that allow client programs to connect to, query and modify data in the directory.
dsapi_entry.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_entry.h
16  *
17  * Directory client API methods for manipulating directory entries.
18  *
19  */
20 
21 /*
22  *
23  *
24  * @VERSION@
25  */
26 
27 #ifndef ISODE_DSAPI_ENTRY_H
28 #define ISODE_DSAPI_ENTRY_H
29 
30 #include <stddef.h>
31 #include <isode/ds/dsapi/dsapi_cdecl.h>
33 
71 LIBDSAPI_CDECL
73  const DS_Entry *entry,
74  const DS_DN **dn_p
75 );
76 
91 LIBDSAPI_CDECL
93  const DS_Entry *entry,
94  const DS_DN **dn_p
95 );
96 
110 LIBDSAPI_CDECL
112  const DS_Entry *entry,
113  int *flag_p
114 );
115 
126 LIBDSAPI_CDECL
128  DS_Entry *entry,
129  const DS_DN *dn
130 );
131 
143 LIBDSAPI_CDECL
145  DS_Entry *entry,
146  const DS_DN *new_dn
147 );
148 
159 LIBDSAPI_CDECL
161  DS_Entry *entry,
162  int flag
163 );
164 
174 LIBDSAPI_CDECL
176  const DS_Entry *entry
177 );
178 
189 LIBDSAPI_CDECL
191  const DS_Entry *entry
192 );
193 
204 LIBDSAPI_CDECL
206  const DS_Entry *entry,
207  DSEntryType *type_p
208 );
209 
230 LIBDSAPI_CDECL
232  DS_Entry *entry,
233  DSEntryType type
234 );
235 
252 LIBDSAPI_CDECL
254  DS_Entry *entry,
255  const DS_Attr *attr
256 );
257 
283 LIBDSAPI_CDECL
285  DS_Entry *entry,
286  const DS_Attr *attr
287 );
288 
313 LIBDSAPI_CDECL
315  DS_Entry *entry,
316  const DS_Attr *attr
317 );
318 
326 LIBDSAPI_CDECL
328  const DS_EntryList *entry_list
329 );
330 
338 LIBDSAPI_CDECL
340  const DS_Entry *entry
341 );
342 
356 LIBDSAPI_CDECL
358  DS_Entry **entryp
359 );
360 
378 LIBDSAPI_CDECL
380  DS_Entry **entryp,
381  DSEntryType type,
382  const DS_DN *dn
383 );
384 
390 LIBDSAPI_CDECL
391 void DS_Entry_Delete (
392  DS_Entry *entry
393 );
394 
400 LIBDSAPI_CDECL
401 void DS_EntryList_Delete (
402  DS_EntryList *entry_list
403 );
404 
442 LIBDSAPI_CDECL
444  const DS_Entry *entry1,
445  const DS_Entry *entry2,
446  DS_Entry **change_p
447 );
448 
486 LIBDSAPI_CDECL
488  const DS_Entry *entry1,
489  const DS_Entry *change,
490  DS_Entry **entry2_p
491 );
492 
497 #endif /* ISODE_DSAPI_ENTRY_H */
DS_Status DS_Entry_GetNewDN(const DS_Entry *entry, const DS_DN **dn_p)
Get the New DN specified in the given DS_Entry.
DS_Status DS_Entry_Apply(const DS_Entry *entry1, const DS_Entry *change, DS_Entry **entry2_p)
Apply a Modify or Add change-entry to a normal entry and return the result as a normal entry...
struct DS_DN DS_DN
Definition: dsapi_types.h:103
DS_Status DS_Entry_Diff(const DS_Entry *entry1, const DS_Entry *entry2, DS_Entry **change_p)
Compare two entries and generate a Modify change-entry with the differences.
const DS_Entry * DS_EntryList_GetNext(const DS_Entry *entry)
Get the next entry in a list of entries.
struct DS_Entry DS_Entry
Definition: dsapi_types.h:81
DS_Status DS_Entry_ReplaceValues(DS_Entry *entry, const DS_Attr *attr)
Append a replace-attribute-values change to a DS_Entry.
DSEntryType
Definition: dsapi_types.h:208
struct DS_Entry DS_EntryList
Definition: dsapi_types.h:145
DS_Status DS_Entry_GetDN(const DS_Entry *entry, const DS_DN **dn_p)
Get the DN of the given DS_Entry.
DS_Status DS_Entry_IsChange(const DS_Entry *entry)
Check that this DS_Entry is a change-entry, i.e. one of the types: Modify, Add, Delete or ModDN...
void DS_EntryList_Delete(DS_EntryList *entry_list)
Free a DS_Entry list.
DS_Status DS_Entry_GetType(const DS_Entry *entry, DSEntryType *type_p)
Get the type of a DS_Entry.
DS_Status DS_Entry_IsNormal(const DS_Entry *entry)
Check that this DS_Entry is a normal entry (i.e. not a change-entry).
DS_Status DS_Entry_NewType(DS_Entry **entryp, DSEntryType type, const DS_DN *dn)
Create a DS_Entry structure of the given type.
DS_Status DS_Entry_SetDeleteOldRDN(DS_Entry *entry, int flag)
Set the &#39;Delete Old RDN&#39; flag of the given &#39;ModDN&#39; DS_Entry.
DS_Status DS_Entry_SetNewDN(DS_Entry *entry, const DS_DN *new_dn)
Set the &#39;new DN&#39; of the given &#39;ModDN&#39; DS_Entry.
DS_Status DS_Entry_New(DS_Entry **entryp)
Create a DS_Entry structure for a Modify change-entry.
struct DS_Attr DS_Attr
Definition: dsapi_types.h:75
const DS_Entry * DS_EntryList_GetFirst(const DS_EntryList *entry_list)
Get the first entry in a list of entries.
Directory API type definitions and forward declarations of private types.
DS_Status DS_Entry_AddValues(DS_Entry *entry, const DS_Attr *attr)
Append an add-attribute (with values) change to a DS_Entry.
void DS_Entry_Delete(DS_Entry *entry)
Free a DS_Entry.
DS_Status DS_Entry_Convert(DS_Entry *entry, DSEntryType type)
Convert a DS_Entry to another type of DS_Entry.
DS_Status DS_Entry_GetDeleteOldRDN(const DS_Entry *entry, int *flag_p)
Get the &#39;delete old RDN&#39; flag for the given DS_Entry.
DS_Status
Definition: dsapi_const.h:66
DS_Status DS_Entry_SetDN(DS_Entry *entry, const DS_DN *dn)
Set the DN of the given DS_Entry.
DS_Status DS_Entry_DeleteValues(DS_Entry *entry, const DS_Attr *attr)
Append a delete-attribute or delete-attribute-values change to a DS_Entry.