This section categorizes plug-in functions by functional area.
Table 16–1 Functions for Handling Parameter Blocks| Function | Description | 
|---|---|
| Frees a parameter block from memory. | |
| Gets the value from a parameter block. | |
| Creates a new parameter block. | |
| Sets the value of a parameter block. | 
Table 16–2 Functions for Handling Memory
| Function | Description | 
|---|---|
| Frees an existing array. | |
| Makes a copy of an existing berval structure. | |
| Makes a copy of an array of existing berval structures. | |
| Allocates space for an array of a number of elements of a specified size. | |
| Frees space allocated by the slapi_ch_malloc(), slapi_ch_realloc(), and slapi_ch_calloc() functions. | |
| Frees an existing string. | |
| Allocates space in memory. | |
| Changes the size of a block of allocated memory. | |
| Makes a copy of an existing string. | 
Table 16–3 Functions for Handling Access Control
| Function | Description | 
|---|---|
| Determines if the user requesting the current operation has the access rights to perform an operation on a given entry, attribute, or value. | |
| Determines if a user has the rights to perform the specified modifications on an entry. | |
| Determines whether or not the access control items (ACIs) on an entry are valid. | 
Table 16–4 Functions for Handling Attributes
| Function | Description | 
|---|---|
| Adds a value to an attribute. | |
| Returns the base type of an attribute. | |
| Duplicates an attribute. | |
| Gets the first value of an attribute. | |
| Determines if certain flags are set. | |
| Frees an attribute. | |
| Puts the values contained in an attribute into an array of berval structures. | |
| Gets the flags associated with an attribute. | |
| Puts the count of values of an attribute into an integer. | |
| Searches for an attribute type and gives its OID string. | |
| Gets the name of the attribute type. | |
| Copies attribute values into a value set. | |
| Initializes an empty attribute. | |
| Creates a new attribute. | |
| Gets the next value of an attribute. | |
| Returns a copy of the normalized attribute types. | |
| Compares two attributes. | |
| Compares two attribute names to determine if they represent the same attribute. | |
| Compares two attribute values. | |
| Determines if an attribute contains a given value. | 
Table 16–5 Functions for Handling Basic Encoding Rule Values
| Function | Description | 
|---|---|
| Compares two berval structures. | |
| Makes a copy of an existing berval structure. | |
| Makes a copy of an array of existing berval structures. | 
Table 16–6 Functions for Handling Controls
| Function | Description | 
|---|---|
| Creates an LDAPControl structure based on a BerElement, an OID, and a criticality flag. | |
| Retrieves an allocated array of object identifiers (OIDs) representing the controls supported by Directory Server. | |
| Determines whether or not the specified object identification (OID) identifies a control that is present in a list of controls. | |
| Makes an allocated copy of an LDAPControl. | |
| Registers the specified control with the server. This function associates the control with an object identification (OID). | 
Table 16–7 Functions for Handling Distinguished Name Strings
| Function | Description | 
|---|---|
| Gets a copy of the DN of the parent of an entry. | |
| Converts all characters in a DN to lowercase. | |
| Determines if a DN is the suffix of the local database. | |
| Determines if a DN is the suffix of the local database. | |
| Determines if a DN is the parent of a specific DN. | |
| Determines if a DN is the root DN for the local database. | |
| Determines if a DN is equal to a specified suffix. | |
| Converts a DN to canonical format. | |
| Converts a DN to canonical format and all characters to lower case. | |
| Normalizes part of a DN value. | |
| Gets the DN of the parent of an entry. | |
| Adds an RDN to a DN. | 
Table 16–8 Functions for Handling Entries
| Function | Description | 
|---|---|
| Generates an LDIF string description. | |
| Generates an LDIF string descriptions with options. | |
| Add components in an entry’s RDN. | |
| Adds a string value to an attribute in an entry. | |
| Adds a data value to an attribute in an entry. | |
| Adds a data value to an attribute in an entry. | |
| Allocates memory for a new entry. | |
| Deletes an attribute from an entry. | |
| Checks if an entry contains a specific attribute. | |
| Gets the first value as a string. | |
| Gets the first value as an integer. | |
| Gets the first value as a long. | |
| Gets the first value as an unsigned integer. | |
| Gets the first value as an unsigned long. | |
| Checks if an attribute in an entry contains a value. | |
| Adds an array to the attribute values in an entry. | |
| Replaces the attribute values in an entry. | |
| Replaces the values of an attribute with a string. | |
| Replaces the value of an attribute with an integer. | |
| Replaces the value of an attribute with a long. | |
| Replaces the value of an attribute with an unsigned integer. | |
| Replaces the value of an attribute with an unsigned long. | |
| Deletes a string from an attribute. | |
| Removes a Slapi_Value array from an attribute. | |
| Copies an entry, its DN, and its attributes. | |
| Finds the first attribute in an entry. | |
| Frees an entry from memory. | |
| Gets the DN from an entry. | |
| Returns the DN of an entry as a constant. | |
| Returns the NDN of an entry. | |
| Returns the Slapi_DN from an entry. | |
| Returns a Slapi_DN from an entry as a constant. | |
| Gets the unique ID from an entry. | |
| Determines if the specified entry has child entries. | |
| Initializes the values of an entry. | |
| Determines whether the entry is that of a directory super user. | |
| Adds an array of data values to an attribute in an entry. | |
| Finds the next attribute in an entry. | |
| Checks if values present in an entry’s RDN are also present as attribute values. | |
| Determines if an entry complies with the schema for its object class. | |
| Determines if a set of modifications to an entry comply with the schema. | |
| Sets the DN of an entry. | |
| Sets the Slapi_DN value in an entry. | |
| Returns the size of an entry. | |
| Determines if the attributes of an entry comply with attribute syntax rules. | |
| Finds the specified virtual attribute in the entry. | |
| Determines if an entry is the root DSE. | |
| Converts an LDIF description into an entry. | 
Table 16–9 Functions for Handling Extended Operations
| Function | Description | 
|---|---|
| Gets a copy of the object IDs (OIDs) of the extended operations. | 
Table 16–10 Functions for Handling Filters
| Function | Description | 
|---|---|
| Determines if two filters are identical. | |
| Frees the specified filter. | |
| Gets the attribute type for all simple filter choices. | |
| Gets the attribute type and the value from the filter. | |
| Gets the type of the specified filter. | |
| Gets the substring values from the filter. | |
| Gets the attribute type specified in the filter. | |
| Joins two specified filters. | |
| Gets the first filter that makes up the specified filter. | |
| Gets the next filter. | |
| Determines if the specified entry matches a particular filter. | |
| Determines if an entry matches a given filter. | |
| Determines if an entry matches a filter. | |
| Converts a string description of a search filter into a filter of the Slapi_Filter type. | 
Table 16–11 Functions for Handling Internal Operations
| Function | Description | 
|---|---|
| Prepare a Slapi_PBlock structure for an internal add operation involving a Slapi_Entry structure. | |
| Adds an LDAP add operation based on a parameter block to add a new directory entry. | |
| Prepare a Slapi_PBlock structure for an internal add operation. | |
| Performs an LDAP delete operation based on a parameter block to remove a directory entry | |
| Prepare a Slapi_PBlock structure for an internal delete operation. | |
| Frees search results. | |
| Performs an LDAP modify operation based on a parameter block to modify a directory entry. | |
| Prepare a Slapi_PBlock structure for an internal modify operation. | |
| Performs an LDAP modify RDN operation based on a parameter block to rename a directory entry. | |
| Prepare a Slapi_PBlock structure for an internal modify RDN operation. | |
| Performs an LDAP search operation based on a parameter block to search the directory. | |
| Performs an internal search operation to read one entry | |
| Performs an LDAP search operation based on a parameter block to search the directory. | |
| Prepare a Slapi_PBlock structure for an internal search operation. | 
Table 16–12 Functions for Handling Matching Rules
| Function | Description | 
|---|---|
| Free a Slapi_MatchingRuleEntry after registering the matching rule. | |
| Access a Slapi_MatchingRuleEntry. | |
| Allocate a Slapi_MatchingRuleEntry structure. | |
| Register a matching rule with the server. | |
| Modify a Slapi_MatchingRuleEntry. | |
| Call a matching rule filter index function. | |
| Get a pointer to the indexer factory function for a matching rule. | 
Table 16–13 Functions for Handling Modifications
| Function | Description | 
|---|---|
| Creates an array of LDAPMod from a Slapi_Entry. | |
| Determines if the proposed modifications to an entry comply with attribute syntax rules. | |
| Adds a value to a Slapi_Mod structure. | |
| Frees internals of Slapi_Mod structure. | |
| Dumps the contents of an LDAPMod to the server log. | |
| Frees a Slapi_Mod structure. | |
| Initializes a Slapi_Mod iterator and returns the first attribute value. | |
| Increments the Slapi_Mod iterator and returns the next attribute value. | |
| Gets the number of values in a Slapi_Mod structure. | |
| Gets the operation type of Slapi_Mod structure. | |
| Gets the attribute type of a Slapi_Mod structure. | |
| Initializes a Slapi_Mod structure. | |
| Initializes a Slapi_Mod structure that is a wrapper for an existing LDAPMod. | |
| Initializes a Slapi_Mod structure with a copy of an LDAPMod. | |
| Determines whether a Slapi_Mod structure is valid. | |
| Allocates a new Slapi_Mod structure. | |
| Removes the value at the current Slapi_Mod iterator position. | |
| Sets the operation type of a Slapi_Mod structure. | |
| Sets the attribute type of a Slapi_Mod. | |
| Creates a Slapi_Entry from an array of LDAPMod. | |
| Appends a new mod with a single attribute value to Slapi_Mods structure. | |
| Appends an LDAPMod to a Slapi_Mods structure. | |
| Appends a new mod to a Slapi_Mods structure, with attribute values provided as an array of Slapi_Value. | |
| Appends a new mod to a Slapi_Mods structure, with attribute values provided as an array of berval. | |
| Appends a Slapi_Mod to a Slapi_Mods structure. | |
| Appends a new mod to Slapi_Mods structure with a single attribute value provided as a string. | |
| Frees internals of a Slapi_Mods structure. | |
| Dumps the contents of a Slapi_Mods structure to the server log. | |
| Frees a Slapi_Mods structure. | |
| Initializes a Slapi_Mods iterator and returns the first LDAPMod. | |
| Initializes a Slapi_Mods iterator and returns the first mod wrapped in a Slapi_Mods structure. | |
| Gets a reference to the array of LDAPMod in a Slapi_Mods structure. | |
| Retrieves the array of LDAPMod contained in a Slapi_Mods structure. | |
| Increments the Slapi_Mods iterator and returns the next LDAPMod. | |
| Increments the Slapi_Mods iterator and returns the next mod wrapped in a Slapi_Mods. | |
| Gets the number of mods in a Slapi_Mods structure. | |
| Initializes a Slapi_Mods. | |
| Initializes a Slapi_Mods that is a wrapper for an existing array of LDAPMod. | |
| Initializes a Slapi_Mods structure from an array of LDAPMod. | |
| Inserts an LDAPMod into a Slapi_Mods structure after the current iterator position. | |
| Inserts an LDAPMod anywhere in a Slapi_Mods. | |
| Inserts an LDAPMod into a Slapi_Mods structure before the current iterator position. | |
| Inserts a Slapi_Mod anywhere in a Slapi_Mods. | |
| Inserts a Slapi_Mod into a Slapi_Mods structure before the current iterator position. | |
| Decrements the Slapi_Mods current iterator position. | |
| Allocates a new uninitialized Slapi_Mods structure. | |
| Removes the mod at the current Slapi_Mods iterator position. | |
| Removes the mod at the specified Slapi_Mods iterator position. | 
Table 16–14 Functions for Handling Operations
| Function | Description | 
|---|---|
| Determines if the client has abandoned the current operation. | |
| Gets the type of a Slapi_Operation. | 
Table 16–15 Functions for Handling Passwords
| Function | Description | 
|---|---|
| Determines whether or not a specified password matches one of the hashed values of an attribute. | |
| Determines whether or not a specified password matches one of the hashed values of an attribute. | 
Table 16–16 Functions for Handling Roles
| Function | Description | 
|---|---|
| Register a callback to determine the scope of a role. | |
| Checks if the entry pointed to contains the role indicated. | |
| Determine the scope of a role. | 
Table 16–17 Functions for Handling SASL Mechanisms
| Function | Description | 
|---|---|
| Gets an array of the names of the supported Simple Authentication and Security Layer (SASL) mechanisms. | |
| Registers the specified Simple Authentication and Security Layer (SASL) mechanism with the server. | 
Table 16–18 Functions for Handling Slapi_Backend Structures
| Function | Description | 
|---|---|
| Checks if the backend that contains the specified DN exists. | |
| Returns the name of the specified backend. | |
| Indicates if the database associated with the backend is in read-only mode. | |
| Returns the n+1 suffix associated with the specified backend. | |
| Returns the type of the backend. | |
| Checks if a flag is set in the backend configuration. | |
| Verifies that the specified suffix matches a registered backend suffix. | |
| Indicates if the changes applied to the backend should be logged in the change log. | |
| Verifies if the backend is private. | |
| Finds the backend that should be used to service the entry with the specified DN. | |
| Find the backend used to service the database. | |
| Returns a pointer of the backend structure of the first backend. | |
| Returns a pointer to the next backend. | |
| Checks if a suffix is a root suffix of the DIT. | 
Table 16–19 Functions for Handling Slapi_DN Structures
| Function | Description | 
|---|---|
| Builds the new DN of an entry. | |
| Compares two DNs. | |
| Copies a DN. | |
| Clears a Slapi_DN structure. | |
| Duplicates a Slapi_DN structure. | |
| Frees a Slapi_DN structure. | |
| Gets the DN of the parent within a specific backend. | |
| Gets the DN from a Slapi_DN structure. | |
| Gets the normalized DN of a Slapi_DN structure. | |
| Gets the length of the normalized DN of a Slapi_DN structure. | |
| Get the parent DN of a given Slapi_DN structure. | |
| Gets the RDN from a DN. | |
| Gets the suffix holding the entry specified by DN. | |
| Checks if there is a DN value stored in a Slapi_DN structure. | |
| Checks if a DN is the parent of the parent of a DN. | |
| Checks if a DN is the parent of a DN. | |
| Checks if a Slapi_DN structure contains a suffix of another. | |
| Allocates new Slapi_DN structure. | |
| Creates a new Slapi_DN structure pointing to an existing DN string. | |
| Creates a new Slapi_DN structure copying an existing DN string. | |
| Creates a new Slapi_DN structure pointing to a new copy of a DN string. | |
| Creates a new Slapi_DN structure pointing to an existing normalized DN. | |
| Creates a new Slapi_DN structure copying an existing normalized DN. | |
| Checks if an entry is in the scope of a certain base DN. | |
| Sets a DN value in a Slapi_DN structure pointing to an existing DN string. | |
| Sets a DN value in a Slapi_DN structure copying an existing DN string. | |
| Sets a DN value in a Slapi_DN structure pointing to a new copy of a DN string. | |
| Sets a normalized DN in a Slapi_DN structure pointing to an existing normalized DN string. | |
| Sets a normalized DN in a Slapi_DN structure copying an existing normalized DN string. | |
| Sets a new parent in an entry. | |
| Sets a new RDN for an entry. | 
Table 16–20 Functions for Handling Slapi_RDN Structures
| Function | Description | 
|---|---|
| Adds a new RDN to an existing RDN structure. | |
| Compares two RDNs. | |
| Checks if a Slapi_RDN structure holds any RDN matching a given type/value pair. | |
| Checks if a Slapi_RDN structure contains any RDN matching a given type. | |
| Clears a Slapi_RDN structure. | |
| Frees a Slapi_RDN structure. | |
| Gets the type/value pair of the first RDN. | |
| Gets the index of the RDN. | |
| Gets the position and the attribute value of the first RDN. | |
| Gets the RDN type/value pair from the RDN. | |
| Gets the number of RDN type/value pairs. | |
| Gets the RDN from a Slapi_RDN structure. | |
| Initializes a Slapi_RDN structure with NULL values. | |
| Initializes a Slapi_RDN structure from an existing DN string. | |
| Initializes a Slapi_RDN structure from an existing Slapi_RDN structure. | |
| Initializes a Slapi_RDN structure from an existing Slapi_DN structure. | |
| Checks if an RDN value is stored in a Slapi_RDN structure. | |
| Creates a new Slapi_RDN structure. | |
| Creates a new Slapi_RDN structure. | |
| Creates a new Slapi_RDN structure. | |
| Creates a new Slapi_RDN structure. | |
| Determines if and RDN complies with attribute syntax rules. | 
Table 16–21 Functions for Handling Slapi_Value Structures
| Function | Description | 
|---|---|
| Compares two values. | |
| Frees internals of a value. | |
| Duplicates a value. | |
| Frees a Slapi_Value structure from memory. | |
| Gets the berval structure of the value. | |
| Converts the value of an integer. | |
| Gets the length of a value. | |
| Converts a value into a long integer. | |
| Returns the value as a string. | |
| Converts the value into an unsigned integer. | |
| Converts the value into an unsigned long. | |
| Initializes a Slapi_Value structure with no values. | |
| Initializes a Slapi_Value structure from the berval structure. | |
| Initializes a Slapi_Value structure from a string. | |
| Initializes a Slapi_Value structure with a value contained in a string. | |
| Allocates a new Slapi_Value structure. | |
| Allocates a new Slapi_Value structure from a berval structure. | |
| Allocates a new Slapi_Value structure from a string. | |
| Allocates a new Slapi_Value structure and initializes it from a string. | |
| Allocates a new Slapi_Value from another Slapi_Value structure. | |
| Sets the value. | |
| Copies the value from a berval structure into a Slapi_Value structure. | |
| Sets the integer value of a Slapi_Value structure. | |
| Copies a string into the value. | |
| Sets the value. | |
| Copies the value of a Slapi_Value structure into another Slapi_Value structure. | 
Table 16–22 Functions for Handling Slapi_ValueSet Structures
| Function | Description | 
|---|---|
| Adds a Slapi_Value in the Slapi_ValueSet structure. | |
| Returns the number of values contained in a Slapi_ValueSet structure. | |
| Frees the values contained in the Slapi_ValueSet structure. | |
| Finds the value in a value set by using the syntax of an attribute. | |
| Gets the first value of a Slapi_ValueSet structure. | |
| Frees the specified Slapi_ValueSet structure and its members from memory. | |
| Resets a Slapi_ValueSet structure to no values. | |
| Allocates a new Slapi_ValueSet structure. | |
| Gets the next value from a Slapi_ValueSet structure. | |
| Copies the values of Slapi_Mod structure into a Slapi_ValueSet structure. | |
| Initializes a Slapi_ValueSet structure from another Slapi_ValueSet structure. | 
Table 16–23 Functions for Handling UTF-8 Strings
| Function | Description | 
|---|---|
| Checks if a string has an 8-bit character. | |
| Compares two UTF-8 strings. | |
| Compares a specified number of UTF-8 characters. | |
| Verifies if a UTF-8 character is lower case. | |
| Verifies if a single UTF-8 character is upper case. | |
| Converts a UTF-8 string to lower case. | |
| Converts a string made up of UTF-8 characters and converts it to upper case. | |
| Converts a UTF-8 character to lower case. | |
| Converts a lower case UTF-8 character to an upper case character. | 
Table 16–24 Functions for Writing Log Messages
| Function | Description | 
|---|---|
| Writes an error message to the server error log | |
| Writes an informational message to the server error log | |
| Writes a warning message to the server error log | 
Table 16–25 Functions for Handling Virtual Attributes
| Function | Description | 
|---|---|
| Determines if the value of the specified attribute type is virtually generated. | |
| Compares attribute type and name in a given entry. | |
| Frees the value set and type names. | |
| Returns the values for an attribute type from an entry. | 
Table 16–26 Functions for Sending Entries, Referrals, and Results to Clients
| Function | Description | 
|---|---|
| Processes an entry’s LDAP v3 referrals. | |
| Sends a result code back to the client. | |
| Sends an entry found by a search back to the client. | 
Table 16–27 Function for Registering Plug-Ins
| Function | Description | 
|---|---|
| Register another plug-in. |