LDAP_GETFILTER(3LDAP) LDAP Library Functions LDAP_GETFILTER(3LDAP)

NAME


ldap_getfilter, ldap_init_getfilter, ldap_init_getfilter_buf,
ldap_getfilter_free, ldap_getfirstfilter, ldap_getnextfilter,
ldap_setfilteraffixes, ldap_build_filter - LDAP filter generating
functions

SYNOPSIS


cc[ flag... ] file... -lldap[ library... ]
#include <lber.h>
#include <ldap.h>
#define LDAP_FILT_MAXSIZ 1024

LDAPFiltDesc *ldap_init_getfilter(char *file);


LDAPFiltDesc *ldap_init_getfilter_buf(char *buf, long buflen);


ldap_getfilter_free(LDAPFiltDesc *lfdp);


LDAPFiltInfo *ldap_getfirstfilter(LDAPFiltDesc *lfdp, char *tagpat,
char *value);


LDAPFiltInfo *ldap_getnextfilter(LDAPFiltDesc *lfdp);


void ldap_setfilteraffixes(LDAPFiltDesc *lfdp, char *prefix,
char *suffix);


void ldap_build_filter(char *buf, unsigned long buflen, char *pattern,
char *prefix, char *suffix, char *attr, char *value,
char **valwords);


DESCRIPTION


These functions are used to generate filters to be used in
ldap_search(3LDAP) or ldap_search_s(3LDAP). Either
ldap_init_getfilter or ldap_init_getfilter_buf must be called prior
to calling any of the other functions except ldap_build_filter.


ldap_init_getfilter() takes a file name as its only argument. The
contents of the file must be a valid LDAP filter configuration file
(see ldapfilter.conf(5)). If the file is successfully read, a pointer
to an LDAPFiltDesc is returned. This is an opaque object that is
passed in subsequent get filter calls.


ldap_init_getfilter_buf() reads from buf, whose length is buflen, the
LDAP filter configuration information. buf must point to the contents
of a valid LDAP filter configuration file. See ldapfilter.conf(5). If
the filter configuration information is successfully read, a pointer
to an LDAPFiltDesc is returned. This is an opaque object that is
passed in subsequent get filter calls.


ldap_getfilter_free() deallocates the memory consumed by
ldap_init_getfilter. Once it is called, the LDAPFiltDesc is no
longer valid and cannot be used again.


ldap_getfirstfilter() retrieves the first filter that is appropriate
for value. Only filter sets that have tags that match the regular
expession tagpat are considered. ldap_getfirstfilter returns a
pointer to an LDAPFiltInfo structure, which contains a filter with
value inserted as appropriate in lfi_filter, a text match
description in lfi_desc, lfi_scope set to indicate the search scope,
and lfi_isexact set to indicate the type of filter. NULL is
returned if no matching filters are found. lfi_scope will be one of
LDAP_SCOPE_BASE, LDAP_SCOPE_ONELEVEL, or LDAP_SCOPE_SUBTREE.
lfi_isexact will be zero if the filter has any '~' or '*' characters
in it and non-zero otherwise.


ldap_getnextfilter() retrieves the next appropriate filter in the
filter set that was determined when ldap_getfirstfilter was called.
It returns NULL when the list has been exhausted.


ldap_setfilteraffixes() sets a prefix to be prepended and a suffix to
be appended to all filters returned in the future.


ldap_build_filter() constructs an LDAP search filter in buf. buflen
is the size, in bytes, of the largest filter buf can hold. A pattern
for the desired filter is passed in pattern. Where the string %a
appears in the pattern it is replaced with attr. prefix is pre-pended
to the resulting filter, and suffix is appended. Either can be NULL
, in which case they are not used. value and valwords are used when
the string %v appears in pattern. See ldapfilter.conf(5) for a
description of how %v is handled.

ERRORS


NULL is returned by ldap_init_getfilter if there is an error reading
file. NULL is returned by ldap_getfirstfilter and ldap_getnextfilter
when there are no more appropriate filters to return.

FILES


ETCDIR/ldapfilter.conf
LDAP filtering routine configuration file.


ATTRIBUTES


See attributes(7) for a description of the following attributes:


+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|Interface Stability | Evolving |
+--------------------+-----------------+

SEE ALSO


ldap(3LDAP), ldapfilter.conf(5), attributes(7)

NOTES


The return values for all of these functions are declared in the
<ldap.h> header file. Some functions may allocate memory which must
be freed by the calling application.

January 28, 2002 LDAP_GETFILTER(3LDAP)

tribblix@gmail.com :: GitHub :: Privacy