mirror of
https://git.openldap.org/openldap/openldap.git
synced 2024-12-21 03:10:25 +08:00
3a119bf1f7
replace 'malloced' with 'dynamically allocated' State ldap_memfree(3) should be used instead of free() Still need ldap_memfree(3) man page.
106 lines
2.5 KiB
Groff
106 lines
2.5 KiB
Groff
.TH LDAP_GET_VALUES 3 "22 September 1998" "OpenLDAP LDVERSION"
|
|
.SH NAME
|
|
ldap_get_values, ldap_get_values_len, ldap_count_values \- LDAP attribute value handling routines
|
|
.SH SYNOPSIS
|
|
.nf
|
|
.ft B
|
|
#include <lber.h>
|
|
#include <ldap.h>
|
|
|
|
typedef struct berval {
|
|
unsigned long bv_len;
|
|
char *bv_val;
|
|
};
|
|
.LP
|
|
.ft B
|
|
char **ldap_get_values(ld, entry, attr)
|
|
.ft
|
|
LDAP *ld;
|
|
LDAPMessage *entry;
|
|
char *attr
|
|
.LP
|
|
.ft B
|
|
struct berval **ldap_get_values_len(ld, entry, attr)
|
|
.ft
|
|
LDAP *ld;
|
|
LDAPMessage *entry;
|
|
char *attr
|
|
.LP
|
|
.ft B
|
|
ldap_count_values(vals)
|
|
.ft
|
|
char **vals;
|
|
.LP
|
|
.ft B
|
|
ldap_count_values_len(vals)
|
|
.ft
|
|
struct berval **vals;
|
|
.LP
|
|
.ft B
|
|
ldap_value_free(vals)
|
|
.ft
|
|
char **vals;
|
|
.LP
|
|
.ft B
|
|
ldap_value_free_len(vals)
|
|
.ft
|
|
struct berval **vals;
|
|
.SH DESCRIPTION
|
|
These routines are used to retrieve and manipulate attribute values
|
|
from an LDAP entry as returned by
|
|
.BR ldap_first_entry (3)
|
|
or
|
|
.BR ldap_next_entry (3).
|
|
.B ldap_get_values()
|
|
takes the \fIentry\fP and the attribute \fIattr\fP
|
|
whose values are desired and returns a NULL-terminated array of the
|
|
attribute's values. \fIattr\fP may be an attribute type as returned
|
|
from
|
|
.BR ldap_first_attribute (3)
|
|
or
|
|
.BR ldap_next_attribute (3),
|
|
or if the attribute type is known it can simply be given.
|
|
.LP
|
|
The number of values in the array can be counted by calling
|
|
.BR ldap_count_values() .
|
|
The array of values returned can be freed by calling
|
|
.BR ldap_value_free() .
|
|
.LP
|
|
If the attribute values are binary in nature, and thus not suitable
|
|
to be returned as an array of char *'s, the
|
|
.B ldap_get_values_len()
|
|
routine can be used instead. It takes the same parameters as
|
|
.BR ldap_get_values() ,
|
|
but returns a NULL-terminated array of pointers
|
|
to berval structures, each containing the length of and a pointer
|
|
to a value.
|
|
.LP
|
|
The number of values in the array can be counted by calling
|
|
.BR ldap_count_values_len() .
|
|
The array of values returned can be freed by calling
|
|
.BR ldap_value_free_len() .
|
|
.SH ERRORS
|
|
If an error occurs in
|
|
.B ldap_get_values()
|
|
or
|
|
.BR ldap_get_values_len() ,
|
|
NULL is returned and the
|
|
.B ld_errno
|
|
field in the \fIld\fP parameter is set to
|
|
indicate the error. See
|
|
.BR ldap_error (3)
|
|
for a description of possible error codes.
|
|
.SH NOTES
|
|
These routines dynamically allocate memory which the caller must free
|
|
using the supplied routines.
|
|
.SH SEE ALSO
|
|
.BR ldap(3),
|
|
.BR ldap_first_entry(3),
|
|
.BR ldap_first_attribute(3),
|
|
.BR ldap_error(3)
|
|
.SH ACKNOWLEDGEMENTS
|
|
.B OpenLDAP
|
|
is developed and maintained by The OpenLDAP Project (http://www.openldap.org/).
|
|
.B OpenLDAP
|
|
is derived from University of Michigan LDAP 3.3 Release.
|