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_attr.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_attr.h
16  *
17  * Directory client API methods for manipulating entry attributes.
18  *
19  */
20 
21 /*
22  *
23  *
24  * @VERSION@
25  */
26 
27 #ifndef ISODE_DSAPI_ATTR_H
28 #define ISODE_DSAPI_ATTR_H
29 
30 #include <stddef.h>
31 #include <isode/ds/dsapi/dsapi_cdecl.h>
34 
90 LIBDSAPI_CDECL
92  const DS_Entry *entry,
93  const char *type,
94  const DS_Attr **attr_p
95 );
96 
108 LIBDSAPI_CDECL
110  const DS_Entry *entry,
111  const DS_AttrList **attr_list_p
112 );
113 
127 LIBDSAPI_CDECL
129  const DS_Entry *entry,
130  const DS_AttrList **mod_list_p
131 );
132 
145 LIBDSAPI_CDECL
147  DS_AttrList **attrlist_p,
148  const DS_Attr *attr
149 );
150 
162 LIBDSAPI_CDECL
164  DS_AttrList *attrlist,
165  const DS_Attr *attr
166 );
167 
175 LIBDSAPI_CDECL
177  const DS_AttrList *attr_list
178 );
179 
187 LIBDSAPI_CDECL
189  const DS_Attr *attr
190 );
191 
203 LIBDSAPI_CDECL
205  const DS_Attr *attr,
206  const char **str_p
207 );
208 
223 LIBDSAPI_CDECL
225  const DS_Attr *attr,
226  DSModType *type_p
227 );
228 
240 LIBDSAPI_CDECL
242  const DS_Attr *attr,
243  const DS_AttrValList **val_list_p
244 );
245 
266 LIBDSAPI_CDECL
268  DS_Attr *attr,
269  const char *str,
270  size_t len
271 );
272 
293 LIBDSAPI_CDECL
295  DS_Attr *attr,
296  const unsigned char *ber,
297  size_t len
298 );
299 
311 LIBDSAPI_CDECL
313  const char *name,
314  DS_Attr **attr_p
315 );
316 
328 LIBDSAPI_CDECL
330  const char *name,
331  DS_Attr **attr_p
332 );
333 
345 LIBDSAPI_CDECL
347  DS_Attr *attr,
348  int *is_unknown_p
349 );
350 
360 LIBDSAPI_CDECL
362  const DS_Attr *attr,
363  DS_Attr **copy_p
364 );
365 
371 LIBDSAPI_CDECL
372 void DS_Attr_Delete (
373  DS_Attr *attr
374 );
375 
385 LIBDSAPI_CDECL
387  const DS_AttrList *attr_list,
388  DS_AttrList **copy_p
389 );
390 
396 LIBDSAPI_CDECL
397 void DS_AttrList_Delete (
398  DS_AttrList *attr_list
399 );
400 
401 /* \} */
402 
414 LIBDSAPI_CDECL
416  const DS_AttrValList *value_list
417 );
418 
427 LIBDSAPI_CDECL
429  const DS_AttrValList *value_list,
430  int *count_p
431 );
432 
440 LIBDSAPI_CDECL
442  const DS_AttrVal *value
443 );
444 
459 LIBDSAPI_CDECL
461  const DS_AttrVal *value,
462  const unsigned char **ber_ptr_p,
463  size_t *ber_len_p
464 );
465 
491 LIBDSAPI_CDECL
493  const DS_AttrVal *value,
494  const char **str_p,
495  size_t *str_len_p
496 );
497 
517 LIBDSAPI_CDECL
519  const DS_AttrVal *value,
520  const void **ir_p
521 );
522 
532 LIBDSAPI_CDECL
534  const DS_AttrVal *value,
535  void *ir
536 );
537 
559 LIBDSAPI_CDECL
561  const DS_AttrVal *value
562 );
563 
564 
584 LIBDSAPI_CDECL
586  const DS_AttrVal *value,
587  DS_AttrVal **copy_p
588 );
589 
612 LIBDSAPI_CDECL
614  const DS_AttrVal *av1,
615  const DS_AttrVal *av2,
616  int *res_p
617 );
618 
628 LIBDSAPI_CDECL
630  const DS_AttrVal *av,
631  DS_AttrVal **copy_p
632 );
633 
639 LIBDSAPI_CDECL
640 void DS_AttrVal_Delete (
641  DS_AttrVal *av
642 );
643 
653 LIBDSAPI_CDECL
655  const DS_AttrValList *av_list,
656  DS_AttrValList **copy_p
657 );
658 
664 LIBDSAPI_CDECL
666  DS_AttrValList *av_list
667 );
668 
673 #endif /* ISODE_DSAPI_ATTR_H */
const DS_Attr * DS_AttrList_GetFirst(const DS_AttrList *attr_list)
Get the first attribute in an attribute list.
DS_Status DS_AttrVal_GetInternal(const DS_AttrVal *value, const void **ir_p)
Verify that the contents of a DS_AttrVal have a valid internal representation, and optionally return ...
DS_Status DS_Attr_GetModType(const DS_Attr *attr, DSModType *type_p)
Return the modification type of a given attribute.
DS_Status DS_Attr_GetTypeName(const DS_Attr *attr, const char **str_p)
Return the type name of a given attribute.
DS_Status DS_Attr_New_AllowUnknown(const char *name, DS_Attr **attr_p)
Create a new DS_Attr structure, allowing unknown attribute-types.
const DS_AttrVal * DS_AttrValList_GetNext(const DS_AttrVal *value)
Get the next attribute in a list.
DS_Status DS_AttrVal_Copy(const DS_AttrVal *av, DS_AttrVal **copy_p)
Copy a DS_AttrVal structure.
struct DS_Entry DS_Entry
Definition: dsapi_types.h:81
const DS_Attr * DS_AttrList_GetNext(const DS_Attr *attr)
Get the next attribute in a list.
DS_Status DS_Attr_AddStringValue(DS_Attr *attr, const char *str, size_t len)
Add a new string value to a DS_Attr.
void DS_AttrValList_Delete(DS_AttrValList *av_list)
Free a DS_AttrValList structure.
const DS_AttrVal * DS_AttrValList_GetFirst(const DS_AttrValList *value_list)
Get the first attribute in a list.
DS_Status DS_AttrList_Append(DS_AttrList *attrlist, const DS_Attr *attr)
Append an attribute to an Attribute list.
DS_Status DS_AttrVal_RegenerateBER(const DS_AttrVal *value, DS_AttrVal **copy_p)
Regenerate the attribute value via BER.
struct DS_AttrVal DS_AttrVal
Definition: dsapi_types.h:69
void DS_AttrList_Delete(DS_AttrList *attr_list)
Free a DS_AttrList structure (and all elements).
DS_Status DS_Entry_GetNamedAttr(const DS_Entry *entry, const char *type, const DS_Attr **attr_p)
Get the named attribute from an attribute list.
DS_Status DS_AttrValList_GetCount(const DS_AttrValList *value_list, int *count_p)
Count the attribute values in a list.
DS_Status DS_Entry_GetModList(const DS_Entry *entry, const DS_AttrList **mod_list_p)
Get the change-entry&#39;s modification list.
struct DS_Attr DS_Attr
Definition: dsapi_types.h:75
struct DS_AttrVal DS_AttrValList
Definition: dsapi_types.h:133
DS_Status DS_Attr_New(const char *name, DS_Attr **attr_p)
Create a new DS_Attr structure.
DS_Status DS_Attr_IsUnknown(DS_Attr *attr, int *is_unknown_p)
Check to see if a DS_Attr has an unknown attribute-type.
Directory API type definitions and forward declarations of private types.
DS_Status DS_AttrList_Copy(const DS_AttrList *attr_list, DS_AttrList **copy_p)
Copy a DS_AttrList structure.
DS_Status DS_AttrList_New(DS_AttrList **attrlist_p, const DS_Attr *attr)
Create a new Attribute list. Initially the list contains a single Attribute.
DS_Status DS_Attr_AddBERValue(DS_Attr *attr, const unsigned char *ber, size_t len)
Add a new BER value to a DS_Attr.
void DS_AttrVal_Delete(DS_AttrVal *av)
Free a DS_AttrVal structure.
DS_Status DS_Attr_GetValueList(const DS_Attr *attr, const DS_AttrValList **val_list_p)
Get an attribute&#39;s value list.
DS_Status DS_AttrVal_Normalize(const DS_AttrVal *value)
Normalize the value in a DS_AttrVal.
DS_Status DS_AttrVal_GetBERPointer(const DS_AttrVal *value, const unsigned char **ber_ptr_p, size_t *ber_len_p)
Return a pointer to the stored BER encoding.
Symbolic constants used in the Directory Service API.
DS_Status DS_Entry_GetAttrList(const DS_Entry *entry, const DS_AttrList **attr_list_p)
Get the entry attribute list.
DS_Status DS_AttrValList_Copy(const DS_AttrValList *av_list, DS_AttrValList **copy_p)
Copy a DS_AttrValList structure.
DS_Status
Definition: dsapi_const.h:66
DS_Status DS_AttrVal_Internal_Delete(const DS_AttrVal *value, void *ir)
Delete a pointer to the internal representation of a value.
DS_Status DS_AttrVal_GetStringPointer(const DS_AttrVal *value, const char **str_p, size_t *str_len_p)
Return a pointer to the stored LDAPv3 format string encoding.
void DS_Attr_Delete(DS_Attr *attr)
Free a DS_Attr structure.
DSModType
Definition: dsapi_types.h:199
DS_Status DS_AttrVal_Compare(const DS_AttrVal *av1, const DS_AttrVal *av2, int *res_p)
Compare two DS_AttrVal values.
DS_Status DS_Attr_Copy(const DS_Attr *attr, DS_Attr **copy_p)
Copy a DS_Attr structure.
struct DS_Attr DS_AttrList
Definition: dsapi_types.h:127