Complete Contents
Getting Started
Chapter 1 Understanding Server Plug-Ins
Chapter 2 Writing and Compiling Plug-Ins
Chapter 3 Calling the Front-End API Functions
Chapter 4 Quick Start
Chapter 5 Writing Database Plug-Ins
Chapter 6 Writing Pre/Post-Operation Plug-Ins
Chapter 7 Defining Functions for LDAP Operations
Chapter 8 Defining Functions for Database Operations
Chapter 9 Defining Functions for Authentication
Chapter 10 Writing Entry Store/Fetch Plug-Ins
Chapter 11 Writing Extended Operation Plug-Ins
Chapter 12 Writing Matching Rule Plug-Ins
Chapter 13 Data Type and Structure Reference
Chapter 14 Function Reference
Chapter 15 Parameter Reference
Glossary
Previous Next Contents Bookshelf


Chapter 15 Parameter Reference

This chapter describes the parameters available in the Slapi_PBlock parameter block, the type of data associated with each parameter, and the plug-in functions in which those parameters are accessible.

To get the values of these parameters, call the slapi_pblock_get() function. To set the values of these parameters, call the slapi_pblock_set() function. Using these parameters, you can get and set the following information:


Parameters for Registering Plug-In Functions
The parameters listed in this section identify plug-in functions recognized by the server. To register your plug-in function, set the value of the appropriate parameter to the name of your function.

Note. With the exception of the parameters for matching rule plug-in functions, you do not need to get the value of any of these parameters.

The parameters for registering plug-in functions are organized in the following sections:

Database Plug-Ins

The parameters listed in this section are used to register database plug-in functions.

Each parameter corresponds to an operation performed by the back-end database. When integrating your own database with the Directory Server, you need to write and register your own plug-in functions that handle these operations.

To register your plug-in function, write an initialization function that sets the values of the following parameters to your functions.
Parameter ID
Description
SLAPI_PLUGIN_DB_BIND_FN
This function is called in response to an LDAP bind request.
SLAPI_PLUGIN_DB_UNBIND_FN
This function is called in response to an LDAP unbind request.
SLAPI_PLUGIN_DB_SEARCH_FN
This function is called in response to an LDAP search request. The function should collect a set of candidates for the search results.
SLAPI_PLUGIN_DB_COMPARE_FN
This function is called in response to an LDAP compare request.
SLAPI_PLUGIN_DB_MODIFY_FN
This function is called in response to an LDAP modify request.
SLAPI_PLUGIN_DB_MODRDN_FN
This function is called in response to an LDAP modify RDN request.
SLAPI_PLUGIN_DB_ADD_FN
This function is called in response to an LDAP add request.
SLAPI_PLUGIN_DB_DELETE_FN
This function is called in response to an LDAP delete request.
SLAPI_PLUGIN_DB_ABANDON_FN
This function is called in response to an LDAP abandon operation request.
SLAPI_PLUGIN_DB_CONFIG_FN
This function is called when the server is parsing the slapd.conf configuration file.
If the Directory Server encounters a directive that it does not recognize, it passes the directive to the back-end by using this routine.
SLAPI_PLUGIN_CLOSE_FN
This function is called when the server is shutting down.
You can use this function to prepare your back-end database for shutdown.
SLAPI_PLUGIN_DB_FLUSH_FN
The front-end periodically calls this function. The function is intended to flush any open caches and to save information to disk.
SLAPI_PLUGIN_START_FN
This function is called on start-up and is intended to initialize the database and prepare it for use.
SLAPI_PLUGIN_DB_ENTRY_FN
This function is called when the server is sending an entry back to the client.
SLAPI_PLUGIN_DB_REFERRAL_FN
This function is called when the server is sending a set of referrals to the client.
SLAPI_PLUGIN_DB_RESULT_FN
This function is called when the server is sending a set of search results to the client.
SLAPI_PLUGIN_DB_LDIFDB_FN
This function is called when the server reads an LDIF file into the database.
SLAPI_PLUGIN_DB_DBLDIF_FN
This function is called when the server exports the datbase to an LDIF file.
SLAPI_PLUGIN_DB_ARCHIVEDB_FN
This function is called when the server restores an archive to the database.
SLAPI_PLUGIN_DB_DBARCHIVE_FN
This function is called when the server backs up the database to an archive.
SLAPI_PLUGIN_DB_NEXT_SEARCH_ENTRY_FN
This function is called for each candidate in the search result set. The function should test each candidate against the search filter and send matching entries back to the client.
SLAPI_PLUGIN_DB_NEXT_SEARCH_ENTRY_EXT_FN
(New in Netscape Directory Server 4.0) Reserved for future use.

SLAPI_PLUGIN_DB_ENTRY_RELEASE_FN
(New in Netscape Directory Server 4.0) Reserved for future use.

SLAPI_PLUGIN_DB_SIZE_FN
Specifies the function called to get the size of the database and set as SLAPI_DBSIZE in the parameter block.
SLAPI_PLUGIN_DB_TEST_FN
Specifies the function called to test the back-end and the database.
SLAPI_PLUGIN_DB_DB2INDEX_FN
(New in Netscape Directory Server 4.0) Specifies the function called to generate indexes for the existing database.

Pre-Operation/Data Validation Plug-Ins

The parameters listed in this section are used to register pre-operation/data validation plug-in functions.

To register your plug-in function, write an initialization function that sets the values of the following parameters to your functions.
Parameter ID
Description
SLAPI_PLUGIN_PRE_BIND_FN
This function is called before an LDAP bind operation is completed.
SLAPI_PLUGIN_PRE_UNBIND_FN
This function is called before an LDAP unbind operation is completed.
SLAPI_PLUGIN_PRE_SEARCH_FN
This function is called before an LDAP search operation is completed.
SLAPI_PLUGIN_PRE_COMPARE_FN
This function is called before an LDAP compare operation is completed.
SLAPI_PLUGIN_PRE_MODIFY_FN
This function is called before an LDAP modify operation is completed.
SLAPI_PLUGIN_PRE_MODRDN_FN
This function is called before an LDAP modify RDN operation is completed.
SLAPI_PLUGIN_PRE_ADD_FN
This function is called before an LDAP add operation is completed.
SLAPI_PLUGIN_PRE_DELETE_FN
This function is called before an LDAP delete operation is completed.
SLAPI_PLUGIN_PRE_ABANDON_FN
This function is called before an LDAP abandon operation is completed.
SLAPI_PLUGIN_PRE_ENTRY_FN
This function is called before an entry is sent back to the client.
SLAPI_PLUGIN_PRE_REFERRAL_FN
This function is called before a set of referrals is sent back to the client.
SLAPI_PLUGIN_PRE_RESULT_FN
This function is called before a set of search results is sent back to the client.
SLAPI_PLUGIN_START_FN
This function is called after the server starts up. You can specify a start function for each pre-operation plug-in.
SLAPI_PLUGIN_CLOSE_FN
This function is called before the server shuts down. You can specify a close function for each pre-operation plug-in.

Post-Operation/Data Notification Plug-Ins

The parameters listed in this section are used to register post-operation/data notification plug-in functions.
Parameter ID
Description
SLAPI_PLUGIN_POST_BIND_FN
This function is called after an LDAP bind operation is completed.
SLAPI_PLUGIN_POST_UNBIND_FN
This function is called after an LDAP unbind operation is completed.
SLAPI_PLUGIN_POST_SEARCH_FN
This function is called after an LDAP search operation is completed.
SLAPI_PLUGIN_POST_COMPARE_FN
This function is called after an LDAP compare operation is completed.
SLAPI_PLUGIN_POST_MODIFY_FN
This function is called after an LDAP modify operation is completed.
SLAPI_PLUGIN_POST_MODRDN_FN
This function is called after an LDAP modify RDN operation is completed.
SLAPI_PLUGIN_POST_ADD_FN
This function is called after an LDAP add operation is completed.
SLAPI_PLUGIN_POST_DELETE_FN
This function is called after an LDAP delete operation is completed.
SLAPI_PLUGIN_POST_ABANDON_FN
This function is called after an LDAP abandon operation is completed.
SLAPI_PLUGIN_POST_ENTRY_FN
This function is called after an entry is sent back to the client.
SLAPI_PLUGIN_POST_REFERRAL_FN
This function is called after a set of referrals is sent back to the client.
SLAPI_PLUGIN_POST_RESULT_FN
This function is called after a set of search results is sent back to the client.
SLAPI_PLUGIN_START_FN
This function is called after the server starts up. You can specify a start function for each post-operation plug-in.
SLAPI_PLUGIN_CLOSE_FN
This function is called before the server shuts down. You can specify a close function for each post-operation plug-in.

Extended Operation Plug-Ins

The parameters listed below are used to register extended operation plug-in functions.
Parameter ID
Data Type
Description
SLAPI_PLUGIN_EXT_OP_FN
void *
Your plug-in function for handling an extended operation.
SLAPI_PLUGIN_EXT_OP_OIDLIST
char **
NULL-terminated array of OIDs identifying the extended operations handled by the plug-in function.
SLAPI_PLUGIN_START_FN
void *
This function is called after the server starts up. You can specify a start function for each extended operation plug-in.
SLAPI_PLUGIN_CLOSE_FN
void *
This function is called before the server shuts down. You can specify a close function for each extended operation plug-in.

Matching Rule Plug-Ins

The parameters listed in below are used to register matching rule plug-in functions.
Parameter ID
Description
SLAPI_PLUGIN_MR_FILTER_CREATE_FN
Factory function for creating filter functions. This function must be thread-safe, since the server may call it concurrently with other functions.
SLAPI_PLUGIN_MR_INDEXER_CREATE_FN
Factory function for creating indexer functions. This function must be thread-safe, since the server may call it concurrently with other functions.
SLAPI_PLUGIN_MR_FILTER_MATCH_FN
Filter function.
SLAPI_PLUGIN_MR_FILTER_INDEX_FN
Filter function that uses an index to accelerate the processing of a search request.
SLAPI_PLUGIN_MR_FILTER_RESET_FN
Function for resetting the filter function.
SLAPI_PLUGIN_MR_INDEX_FN
Indexer function.
SLAPI_PLUGIN_DESTROY_FN
Function for freeing a filter function or indexer function.
SLAPI_PLUGIN_CLOSE_FN
Function called before server shutdown (use this function to clean up before shutdown).


Parameters Accessible to All Plug-Ins
The parameters listed in this section are accessible to all types of plug-ins. The parameters in this section are organized in the following sections:

Information About the Database

The parameters listed below specify information about the back-end database. These parameters are available for all types of plug-ins. Note that these specific parameters can not be set by calling slapi_pblock_set(). You can, however, get these parameters by calling slapi_pblock_get().
Parameter ID
Data Type
Description
SLAPI_BE_MONITORDN
char *
(Netscape Directory Server 3.x releases only) DN used to monitor the back-end database.
Note that this is no longer supported in the Netscape Directory Server 4.0 release.
SLAPI_BE_TYPE
char *
Type of back-end database (this is the type specified by the database directive in the server configuration file).
SLAPI_BE_READONLY
int
Specifies whether or not the back-end database is read-only (this is determined by the readonly directive in the server configuration file).
SLAPI_DBSIZE
int
Specifies the size of the back-end database. If you are using your own database instead of the default database, your SLAPI_DB_SIZE_FN function should set the value of this parameter.

Information About the Connection

The parameters listed below specify information about the connection. These parameters are available for all types of plug-ins.
Parameter ID
Data Type
Description
SLAPI_CONN_ID
int
ID identifying the current connection.
SLAPI_CONN_DN
char *
DN of the user authenticated on the current connection. If you call slapi_pblock_get() to get this DN, you should call slapi_ch_free() to free the resulting DN when done.
SLAPI_CONN_AUTHTYPE
char *
Method used to authenticate the current user. This parameter can have one of the following values:
SLAPI_CONN_CLIENTIP
struct in_addr *
(New in Netscape Directory Server 4.0) IP address of the client requesting the operation.
SLAPI_CONN_SERVERIP
struct in_addr *
(New in Netscape Directory Server 4.0) IP address that the client is connecting to. You might want to use this parameter if, for example, your server accepts connections on multiple IP addresses.

Information About the Operation

The parameters listed below specify information about the current operation. These parameters are available for all types of plug-ins.
Parameter ID
Data Type
Description
SLAPI_OPINITIATED_TIME
time_t
Time when the server began processing the operation
SLAPI_REQUESTOR_ISROOT
int
Specifies whether or not the user requesting the operation is the "root DN".
The "root DN" is the "superuser" of the directory. This DN is specified by the rootdn directive in the slapd.conf configuration file.
SLAPI_REQUESTOR_ISUPDATEDN
int
Specifies whether or not the user requesting the operation is the "update DN".
The "update DN" is the master entity responsible for updating the directory during replication. This DN is specified by the updatedn directive in the slapd.conf configuration file.
SLAPI_REQUESTOR_DN
char *
Specifies the DN of the user requesting the operation.
SLAPI_TARGET_DN
char *
Specifies the DN to which the operation applies (for example, the DN of the entry being added or removed)
SLAPI_REQCONTROLS
LDAPControl **
Array of the controls specified in the request.

Notes in the Access Log

This feature is new in the Netscape Directory Server 4.0 release and is not available in previous releases.

The parameters listed below specify notes that can be appended to access log entries. These parameters are available for all types of plug-ins.
Parameter ID
Data Type
Description
SLAPI_OPERATION_NOTES
unsigned int
Flags specifying the notes that you want appended to access log entries.
You can set this parameter to the following value:
If no flags are set, no notes are appended to access log entries.

For more information, see "Adding Notes to Access Log Entries" on page  58.

Information About the Plug-In

The parameters listed below specify information about the plug-in that is available to all plug-in functions defined in the current library. These parameters are available for all types of plug-ins.
Parameter ID
Data Type
Description
SLAPI_PLUGIN_PRIVATE
void *
Private data that you want passed to your plug-in functions.
SLAPI_PLUGIN_TYPE
int
Specifies the type of plug-in function (see "Types of Plug-Ins" on page  371)
SLAPI_PLUGIN_ARGV
char **
NULL-terminated array of command-line arguments specified for the plugin directive in the server configuration file.
SLAPI_PLUGIN_ARGC
int
Number of command-line arguments specified for the plugin directive in the server configuration file.
SLAPI_PLUGIN_VERSION
char *
Specifies the version of the plug-in function (see "Version Information" on page  372).
SLAPI_PLUGIN_OPRETURN
int
Specifies the return value of the LDAP operation that has just been processed.

Types of Plug-Ins

The SLAPI_PLUGIN_TYPE parameter can have one of the following values, which identifies the type of the current plug-in (see Table 2.1 for a more detailed description of the types of server plug-ins):
Defined Constant
Description
SLAPI_PLUGIN_DATABASE
Database plug-in
SLAPI_PLUGIN_EXTENDEDOP
Extended operation plug-in
SLAPI_PLUGIN_PREOPERATION
Pre-operation/data validation plug-in
SLAPI_PLUGIN_POSTOPERATION
Post-operation/data notification plug-in
SLAPI_PLUGIN_MATCHINGRULE
Matching rule plug-in
SLAPI_PLUGIN_SYNTAX
Syntax plug-in

Version Information

To set the value of the SLAPI_PLUGIN_VERSION parameter, you can specify one of the following values:
Defined Constant
Description
SLAPI_PLUGIN_CURRENT_VERSION
The current version of the Netscape Directory Server plug-in
SLAPI_PLUGIN_VERSION_01
Version 1 of the plug-in interface, which is supported by the Netscape Directory Server 3.x and subsequent releases (including 4.0)
SLAPI_PLUGIN_VERSION_02
Version 2 of the plug-in interface, which is supported by the Netscape Directory Server 4.x release but not by previous releases


Parameters for the Configuration Function
The following table lists the parameters in the parameter block passed to the database configuration function. If you are writing a pre-operation, database, or post-operation configuration function, you can get these values by calling the slapi_pblock_get() function.
Parameter ID
Data Type
Description
SLAPI_CONFIG_FILENAME
char *
Name of the configuration file that is being read (for example, slapd.conf)
SLAPI_CONFIG_LINENO
int
Line number of the current directive in the configuration file.
SLAPI_CONFIG_ARGC
int
Number of arguments in the current directive.
SLAPI_CONFIG_ARGV
char **
Array of the arguments from the current directive.

See "Reading Configuration Files" on page  104 for more information on these parameters.


Parameters for the Bind Function
The following table lists the parameters in the parameter block passed to the database bind function. If you are writing a pre-operation, database, or post-operation bind function, you can get these values by calling the slapi_pblock_get() function.
Parameter ID
Data Type
Description
SLAPI_BIND_TARGET
char *
DN of the entry to bind as.
SLAPI_BIND_METHOD
int
Authentication method used (for example, LDAP_AUTH_SIMPLE or LDAP_AUTH_SASL).
SLAPI_BIND_CREDENTIALS
struct berval *
Credentials from the bind request.
SLAPI_BIND_RET_SASLCREDS
struct berval *
Credentials that you want sent back to the client. (Set this before calling slapi_send_ldap_result().)
SLAPI_BIND_SASLMECHANISM
char *
SASL mechanism used (for example, LDAP_SASL_EXTERNAL).

See "Processing an LDAP Bind Operation" on page  105 for more information on these parameters.


Parameters for the Search Function
The following table lists the parameters in the parameter block passed to the database search function. If you are writing a pre-operation, database, or post-operation search function, you can get these values by calling the slapi_pblock_get() function.
Parameter ID
Data Type
Description
SLAPI_SEARCH_TARGET
char *
DN of the base entry in the search operation (the starting point of the search).
SLAPI_SEARCH_SCOPE
int
The scope of the search. The scope can be one of the following values:
SLAPI_SEARCH_DEREF
int
Method for handling aliases in a search. This method can be one of the following values:
SLAPI_SEARCH_SIZELIMIT
int
Maximum number of entries to return in the search results.
SLAPI_SEARCH_TIMELIMIT
int
Maximum amount of time (in seconds) allowed for the search operation.
SLAPI_SEARCH_FILTER
Slapi_Filter *
Slapi_Filter struct (an opaque data structure) representing the filter to be used in the search.
SLAPI_SEARCH_STRFILTER
char *
String representation of the filter to be used in the search.
SLAPI_SEARCH_ATTRS
char **
Array of attribute types to be returned in the search results.
SLAPI_SEARCH_ATTRSONLY
int
Specifies whether the search results return attribute types only or attribute types and values. (0 means return both attributes and values; 1 means return attribute types only)

The following parameters are set by the front-end and back-end as part of the process of executing the search. .
Parameter ID
Data Type
Description
SLAPI_SEARCH_RESULT_SET
void *
Set of search results.
SLAPI_SEARCH_RESULT_ENTRY
void *
Entry returned from iterating through the results set.
SLAPI_SEARCH_RESULT_ENTRY_EXT
void *
(New in Netscape Directory Server 4.0) Reserved for future use.

SLAPI_NENTRIES
int
Number of search results found
SLAPI_SEARCH_REFERRALS
struct berval **
Array of the URLs to other LDAP servers that the current server is referring the client to

See "Processing an LDAP Search Operation" on page  107 and "Iterating through Candidates" on page  110 for more information on these parameters.


Parameters for the Add Function
The following table lists the parameters in the parameter block passed to the database add function. If you are writing a pre-operation, database, or post-operation add function, you can get these values by calling the slapi_pblock_get() function.
Parameter ID
Data Type
Description
SLAPI_ADD_TARGET
char *
DN of the entry to be added.
SLAPI_ADD_ENTRY
Slapi_Entry *
The entry to be added (specified as the opaque Slapi_Entry datatype).

See "Processing an LDAP Add Operation" on page  112 for more information on these parameters.


Parameters for the Compare Function
The following table lists the parameters in the parameter block passed to the database compare function. If you are writing a pre-operation, database, or post-operation compare function, you can get these values by calling the slapi_pblock_get() function.
Parameter ID
Data Type
Description
SLAPI_COMPARE_TARGET
char *
DN of the entry to be compared.
SLAPI_COMPARE_TYPE
char *
Attribute type to use in the comparison.
SLAPI_COMPARE_VALUE
struct berval *
Attribute value to use in the comparison

See "Processing an LDAP Compare Operation" on page  111 for more information on these parameters.


Parameters for the Delete Function
The following table lists the parameters in the parameter block passed to the database delete function. If you are writing a pre-operation, database, or post-operation delete function, you can get these values by calling the slapi_pblock_get() function.
Parameter ID
Data Type
Description
SLAPI_DELETE_TARGET
char *
DN of the entry to delete.

See "Processing an LDAP Delete Operation" on page  117 for more information on these parameters.


Parameters for the Modify Function
The following table lists the parameters in the parameter block passed to the database modify function. If you are writing a pre-operation, database, or post-operation modify function, you can get these values by calling the slapi_pblock_get() function.
Parameter ID
Data Type
Description
SLAPI_MODIFY_TARGET
char *
DN of the entry to be modified.
SLAPI_MODIFY_MODS
LDAPMod **
A NULL-terminated array of LDAPMod structures, which represent the modifications to be performed on the entry.

See "Processing an LDAP Modify Operation" on page  113 for more information on these parameters.


Parameters for the Modify RDN Function
The following table lists the parameters in the parameter block passed to the database modify RDN function. If you are writing a pre-operation, database, or post-operation modify RDN function, you can get these values by calling the slapi_pblock_get() function.
Parameter ID
Data Type
Description
SLAPI_MODRDN_TARGET
char *
DN of the entry that you want to rename.
SLAPI_MODRDN_NEWRDN
char *
New RDN to assign to the entry.
SLAPI_MODRDN_DELOLDRDN
int
Specifies whether or not you want to deleted the old RDN. (0 means don't delete the old RDN; 1 means delete the old RDN)
SLAPI_MODRDN_NEWSUPERIOR
char *
DN of the new parent of the entry, if the entry is being moved to a new location in the directory tree.

See "Processing an LDAP Modify RDN Operation" on page  115 for more information on these parameters.


Parameters for the Abandon Function
The following table lists the parameters in the parameter block passed to the database abandon function. If you are writing a pre-operation, database, or post-operation abandon function, you can get these values by calling the slapi_pblock_get() function.
Parameter ID
Data Type
Description
SLAPI_ABANDON_MSGID
unsigned long
Message ID of the operation to abandon.

See "Processing an LDAP Abandon Operation" on page  118 for more information on these parameters.


Parameters for Database Import
The following table lists the parameters in the parameter block passed to the database import function, which is responsible for importing LDIF files into the database. If you are writing your own plug-in function for performing this work, you can get these values by calling the slapi_pblock_get() function.
Parameter ID
Data Type
Description
SLAPI_LDIF2DB_FILE
char *
LDIF file that needs to be imported into the database.
SLAPI_LDIF2DB_REMOVEDUPVALS
int
Specifies whether or not the duplicate values of attributes should be removed.
SLAPI_LDIF2DB_NOATTRINDEXES
int 
(New in Netscape Directory Server 4.0)
If 1, the database should not be indexed when the database is created.
If 0, the import function should automatically generate database indexes.
SLAPI_LDIF2DB_INCLUDE
char **
(New in Netscape Directory Server 4.0)
An array of the suffixes or DNs identifying the entries in the LDIF file to be included in the database.
SLAPI_LDIF2DB_EXCLUDE
char **
(New in Netscape Directory Server 4.0)
An array of the suffixes or DNs identifying the entries in the LDIF file to be excluded from the database.

See "Importing an LDIF File into the Database" on page  120 for more information on these parameters.


Parameters for Database Export
The following table lists the parameters in the parameter block passed to the database import function, which is responsible for importing LDIF files into the database. If you are writing your own plug-in function for performing this work, you can get these values by calling the slapi_pblock_get() function.
Parameter ID
Data Type
Description
SLAPI_DB2LDIF_PRINTKEY
int
Specifies whether or not the database keys should be printed out as well.
SLAPI_DB2LDIF_PRINT_DSE_TREE_FN
void *
Function for printing the front-end DSEs in LDIF format.

Se e "Importing an LDIF File into the Database" on page  120 for more information on these parameters.


Parameters for Database Archive
The following table lists the parameters in the parameter block passed to the database archive function, which is responsible for archiving the database. If you are writing your own plug-in function for performing this work, you can get these values by calling the slapi_pblock_get() function.
Parameter ID
Data Type
Description
SLAPI_SEQ_VAL
char *
Specifies the directory in which you want to store the archive.

Se e "Saving the Database as an Archive" on page  123 for more information on these parameters.


Parameters for Database Restore
The following table lists the parameters in the parameter block passed to the database restore function, which is responsible for restoring the database from an archive. If you are writing your own plug-in function for performing this work, you can get these values by calling the slapi_pblock_get() function.
Parameter ID
Data Type
Description
SLAPI_SEQ_VAL
char *
Specifies the directory containing the archive.

Se e "Restoring the Database from an Archive" on page  123 for more information on these parameters.


Parameters for Database Indexing
This feature is new in the Netscape Directory Server 4.0 release but is not available in previous releases.

The following table lists the parameters in the parameter block passed to the database indexing function, which is responsible for generating indexes for the database. If you are writing your own plug-in function for performing this work, you can get these values by calling the slapi_pblock_get() function.
Parameter ID
Data Type
Description
SLAPI_DB2INDEX_ATTRS
char **
Specifies a NULL-terminated array of the attribute types that you want indexed.

Se e "Generating Indexes for the Database" on page  124 for more information on these parameters.


Parameters for Extended Operations
The following table lists the parameters in the parameter block passed to extended operation functions. If you are writing your own plug-in function for performing this work, you can get these values by calling the slapi_pblock_get() function.
Parameter ID
Data Type
Description
SLAPI_EXT_OP_REQ_OID
char *
Object ID (OID) of the extended operation specified in the request.
SLAPI_EXT_OP_REQ_VALUE
struct berval*
Value specified in the request.
SLAPI_EXT_OP_RET_OID
char *
Object ID (OID) that you want sent back to the client.
SLAPI_EXT_OP_RET_VALUE
struct berval*
Value that you want sent back to the client.


Parameters for Internal LDAP Operations
The parameters listed below are used in conjunction with functions that you can call to perform LDAP operations from a plug-in (these internal operations do not return any data to a client).
Parameter ID
Data Type
Description
SLAPI_PLUGIN_INTOP_RESULT
int
Result code of the internal LDAP operation
SLAPI_PLUGIN_INTOP_SEARCH_ENTRIES
Slapi_Entry **
Array of entries found by an internal LDAP search operation (see "slapi_search_internal()" on page  339 for details)
SLAPI_PLUGIN_INTOP_SEARCH_REFERRALS
char **
Array of referrals (in the form of LDAP URLs) found by an internal LDAP search operation (see "slapi_search_internal()" on page  339 for details)

The following functions set all three parameters:

The following functions set only the SLAPI_PLUGIN_INTOP_RESULT parameter:


Parameters for Matching Rule Plug-Ins
The parameters listed below are used in conjunction with matching rule plug-ins.
Parameter ID
Data Type
Description
SLAPI_PLUGIN_MR_OID

SLAPI_PLUGIN_MR_TYPE

SLAPI_PLUGIN_MR_VALUE

SLAPI_PLUGIN_MR_VALUES

SLAPI_PLUGIN_MR_KEYS

SLAPI_PLUGIN_MR_FILTER_REUSABLE

SLAPI_PLUGIN_MR_QUERY_OPERATOR

The following parameters are listed in the slapi-plugin.h header file but are not currently used:

 

© Copyright 1998 Netscape Communications Corporation