Plug-ins that compute attribute values register the functions of type slapi_compute_callback_t to compute attributes with slapi_compute_add_evaluator() during initialization with the server.
#include "slapi-plugin.h"
int
compute_init(Slapi_PBlock * pb)
{
int rc = 0; /* 0 means success */
rc |= slapi_pblock_set( /* Plug-in API version */
pb,
SLAPI_PLUGIN_VERSION,
SLAPI_PLUGIN_CURRENT_VERSION
);
rc |= slapi_pblock_set( /* Plug-in description */
pb,
SLAPI_PLUGIN_DESCRIPTION,
(void *) &comp_desc; /* See the code for comp_desc. */
);
rc |= slapi_compute_add_evaluator(compute_attrs);
return rc;
}
Here, compute_attrs() is the function that computes the attribute value.