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:
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.
|
|
|
|
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 are not supported in current releases of Directory Server. Please use the pre-operation, post-operation, and/or extended operation API to register plug-in functions. |
|
|
|
|
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.
The parameters listed in this section are used to register post-operation/data notification plug-in functions.
The parameters listed below are used with matching rule plug-in functions that can be registered.
The parameters listed
below are used for entry store and entry fetch plug-in functions. These
plug-in functions are called by the server before writing an entry to
disk and after reading an entry from disk. Entry store and entry fetch
plug-in functions are passed using the string representation (in LDIF) of the entry.
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:
The parameters listed below specify information about the backend database. These parameters are available for all types of plug-ins. These specific parameters cannot be set by calling slapi_pblock_set(). You can, however, get these parameters by calling slapi_pblock_get ().
The parameters listed below specify information about the connection. These parameters are available for all types of plug-ins.
|
Note: This is an NSS database. See http://mozilla.org/projects/security/pki/nss/ |
The client certificate associated with the connection; may be absent. |
|
|
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_string() to free the resulting DN when done. |
||
|
Method used to authenticate the current user. If you call slapi_pblock_get() to get this value, you should call slapi_ch_free_string() to free the resulting value when done. This parameter can have one of the following values:
|
||
|
This parameter has been deprecated for current releases. Use SLAPI_CONN_AUTHMETHOD instead. |
||
|
IP address of the client requesting the operation. This parameter has been replaced by SLAPI_CONN_CLIENTNETADDR but is provided here for backward compatibility. |
||
|
IP address to which the client is connecting. You might want to use this parameter if, for example, your server accepts connections on multiple IP addresses.This parameter has been replaced by SLAPI_CONN_SERVERADDR but is provided here for backward compatibility |
||
|
IP address to which the client is connecting. You might want to use this parameter if, for example, your server accepts connections on multiple IP addresses. |
*These parameters use an NSPR structure. See http://www.mozilla.org/projects/nspr for more information.
The parameters listed below specify information about the current operation. These parameters are available for all types of plug-ins.
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.
The parameters listed below specify information about the current transaction. These parameters are available for all types of plug-ins.
The parameters listed below are used with the access control list (ACL) plug-in functions to determine access control levels.
The parameters listed below specify notes that can be appended to access log entries. These parameters are available for all types of plug-ins.
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.
|
Pointer to the internal server representation of this plug-in. |
||
|
Private data that you want passed to your plug-in functions. |
||
|
Specifies the type of plug-in function (see Types of Plug-ins) |
||
|
NULL-terminated array of command-line arguments specified for the plugin directive in the server configuration file. |
||
|
Number of command-line arguments specified for the plugin directive in the server configuration file. |
||
|
Specifies the version of the plug-in function (see Version Information). |
||
|
Specifies the return value of the LDAP operation that has just been processed. |
||
|
Reserved for internal use only; used with filter processing. |
||
|
Reserved for internal use only; used with filter processing. |
||
The SLAPI_PLUGIN_TYPE parameter can have one of the following values, which identifies the type of the current plug-in:
To set the value of the SLAPI_PLUGIN_VERSION parameter, you can specify one of the following values:
The parameters listed below are used to determine the command-line arguments with which a plug-in was invoked.
The parameters listed below provide the following information about attributes:
The parameters listed below are used to check for commonly-used attribute names. These are not pblock parameters but macros that define strings; for example, SLAPI_ATTR_OBJECTCLASS is objectclass.
The parameters listed below are used by the slapi_attr_get_flags() function to get the flags associated with the specified attribute. These flags can identify an attribute as a single-valued attribute, an operational attribute, or as a read-only attribute.
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.
|
Authentication method used; for example, LDAP_AUTH_SIMPLE or LDAP_AUTH_SASL. |
||
|
Simple Authentication and Security Layer (SASL) credentials that you want to send back to the client. Set this before calling slapi_send_ldap_result(). |
||
|
Simple Authentication and Security Layer (SASL) mechanism that is used (for example, LDAP_SASL_EXTERNAL). |
See Processing an LDAP Bind Operation for more information on these parameters.
The following parameters are used with 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.
|
DN of the base entry in the search operation; the starting point of the search. |
||
|
The scope of the search. The scope can be one of the following values: |
||
|
Method for handling aliases in a search. This method can be one of the following values: |
||
|
Maximum amount of time (in seconds) allowed for the search operation. |
||
|
Slapi_Filter structure (an opaque data structure) representing the filter to be used in the search. |
||
|
String representation of the filter to be used in the search. |
||
|
Array of attribute types to be returned in the search results. |
||
|
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 backend database as part of the process of executing the search.
|
Array of the URLs to other LDAP servers to which the current server is referring the client. |
See Processing an LDAP Search Operation and Iterating through Candidates for more information on these parameters.
The entry and
referrals options listed below are set/read by both the front-end and
backend database while stepping through the search results.
The parameters listed below return data types.
The parameters listed below are pblock parameters; they are flags that can be passed to the slapi_str2entry() 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.
|
The entry to be added (specified as the opaque Slapi_Entry datatype). |
||
|
Internal only; used by the multi-master replication update resolution procedure code. If adding an entry that already exists, this is the entry which has the same DN. |
||
|
Internal only; used by the multi-master replication update resolution procedure code. This is the parent entry of the entry to add. |
||
|
Internal only; used by the multi-master replication update resolution procedure code. This is the unique ID of the parent entry of the entry to add. |
||