Chapter 22. Functions for Syntax Plug-ins

This chapter contains reference information on routines for syntax plug-ins.

Table 22.1. Syntax Plug-in Routines

Function Description
slapi_call_syntax_assertion2keys_ava_sv() Calls a function, specified in the syntax plug-in, to compare against directory entries.
slapi_call_syntax_assertion2keys_sub_sv() Calls a function, specified in the syntax plug-in, to compare against directory entries.
slapi_call_syntax_values2keys_sv() Manages index values when adding or removing values from an index.

22.1. slapi_call_syntax_assertion2keys_ava_sv()

Description

When processing a search, calls the function (defined in the specified syntax plug-in) responsible for returning an array of values (specified by the search filter) to compare against the entries in the directory. This function applies to searches that use the filter types LDAP_FILTER_EQUALITY and LDAP_FILTER_APPROX.

When processing a search that uses an attribute-value assertion (AVA) filter (for example, ou=Accounting or ou=~Accounting), the backend needs to compare the value specified in the search filter against the value of the specified attribute in each entry.
The function invokes the syntax plug-in specified by the vpi argument. This is the plug-in associated with the type of attribute used in the search. You can get this handle by calling the slapi_attr_type2plugin() function.
The syntax plug-in function invoked by this function is responsible for comparing the value specified by val against the actual values of the attributes in the directory entries. The syntax plug-in function returns a list of matching entry keys (the ivals argument) to the backend.
Syntax

#include "slapi-plugin.h"
int slapi_call_syntax_assertion2keys_ava_sv( void *vpi, Slapi_Value *val, Slapi_Value ***ivals, int ftype );

Parameters

This function takes the following parameters:

vpi
Handle to plug-in for this attribute type
val
Pointer to the Slapi_Value arrays containing the value from the search filter; for example, if the filter is ou=Accounting, the argument val is Accounting.
ivals
Pointer to the Slapi_Value arrays containing the values returned by the plug-in function; these values can now be compared against entries in the directory.
ftype
Type of filter; for example, LDAP_FILTER_EQUALITY.
Returns

This function returns one of the following values:

  • 0 if successful.
  • -1 if an error occurs; for example, if the corresponding function for the specified plug-in is not found.