HP-UX Directory Server 8.1 plug-in reference

Table Of Contents
Memory concerns The f1 and f2 filters are neither copied nor freed during the join process,
but the resulting filter will have references pointing to these two filters.
See also “slapi_filter_join()” uses “slapi_filter_join_ex()” with recurse_always argument
set to 1.
26.12 slapi_filter_list_first()
Applies only to filters of the types LDAP_FILTER_EQUALITY, LDAP_FILTER_GE,
LDAP_FILTER_LE, and LDAP_FILTER_APPROX. Gets the first filter that makes up the specified
filter.
Description To iterate through all filters that make up a specified filter, use this function in
conjunction with the “slapi_filter_list_next()” function.
Filters of the type LDAP_FILTER_AND, LDAP_FILTER_OR, and LDAP_FILTER_NOT generally
consist of one or more other filters. For example, if the filter is:
(&(ou=Accounting)(l=Sunnyvale))
the first filter in this list is:
(ou=Accounting)
Call the slapi_filter_list_first() function to get the first filter in the list.
Syntax
#include "slapi-plugin.h"
Slapi_Filter *slapi_filter_list_first( Slapi_Filter *f );
Parameters This function takes the following parameter:
Filter of which you want to get the first component.
f
Returns This function returns the first filter that makes up the specified filter f.
Memory concerns No duplication of the filter is done, so this filter should not be freed
independently of the original filter.
See also “slapi_filter_list_next()”
26.13 slapi_filter_list_next()
Applies only to filters of the types LDAP_FILTER_EQUALITY, LDAP_FILTER_GE,
LDAP_FILTER_LE, and LDAP_FILTER_APPROX. Gets the next filter (following fprev) that
makes up the specified filter f.
Description To iterate through all filters that make up a specified filter, use this function in
conjunction with the “slapi_filter_list_first()” function.
Syntax
#include "slapi-plugin.h"
Slapi_Filter *slapi_filter_list_next( Slapi_Filter *f,
Slapi_Filter *fprev );
Parameters This function takes the following parameters:
Filter from which you want to get the next component (after fprev).f
Filter within the specified filter f.fprev
Returns This function returns the next filter (after fprev) that makes up the specified filter f.
Filters of the type LDAP_FILTER_AND, LDAP_FILTER_OR, and LDAP_FILTER_NOT generally
consist of one or more other filters. For example, if the filter is:
(&(ou=Accounting)(l=Sunnyvale))
242 Functions for dealing with filters