Returns the values for an attribute type from an entry.
#include "slapi-plugin.h" int slapi_vattr_values_get_ex(Slapi_Entry *e, char *type, Slapi_ValueSet*** results, int **type_name_disposition, char ***actual_type_name, int flags, int *buffer_flags, int *subtype_count);
This function takes the following parameters:
Entry from which to get the values.
Attribute type name.
Pointer to result set.
Matching result.
Type name as found.
Bit mask of options. Valid values are as follows:
SLAPI_REALATTRS_ONLY
SLAPI_VIRTUALATTRS_ONLY
SLAPI_VIRTUALATTRS_REQUEST_POINTERS
SLAPI_VIRTUALATTRS_LIST_OPERATIONAL_ATTRS
Bit mask to be used as input flags for slapi_vattr_values_free() .
Number of subtypes matched.
This function returns 0 for success, in which case:
results contains the current values for type all of the subtypes in e.
type_name_disposition contains information on how each type was matched. Valid values are:
SLAPI_VIRTUALATTRS_TYPE_NAME_MATCHED_EXACTLY_OR_ALIAS
SLAPI_VIRTUALATTRS_TYPE_NAME_MATCHED_SUBTYPE
actual_type_name contains the type name as found.
buffer_flags contains the bit mask to be used as input flags for slapi_vattr_values_free().
subtype_count contains the number of subtypes matched.
Otherwise, this function returns the following
SLAPI_VIRTUALATTRS_LOOP_DETECTED (failed to evaluate a virtual attribute).
SLAPI_VIRTUAL_NOT_FOUND (type not recognized by any virtual attribute and no real attribute in entry).
ENOMEM (memory error).
This function returns the values for an attribute type from an entry, including the values for any subtypes of the specified attribute type. The routine will return the values of virtual attributes in that entry if requested to do so.
slapi_vattr_values_free() should be used to free the returned result set and type names, passing the buffer_flags value returned from this routine.