3.2. Plugin Infrastructure

3.2.1. dbi_plugin_list

dbi_plugin dbi_plugin_list(dbi_plugin Current)

Enumerates all loaded plugins. If Current is NULL, the first available plugin will be returned. If Current is a valid plugin, the next available plugin will be returned.

Arguments

Current: The current plugin in the list of plugins.

Returns

The next available plugin, or NULL if there is an error or no more are available.

3.2.2. dbi_plugin_open

dbi_plugin dbi_plugin_open(const char *name)

Locate the plugin with the specified name.

Arguments

name: The name of the plugin to open.

Returns

The requested plugin, or NULL if there is an error or it is not found.

3.2.3. dbi_plugin_is_reserved_word

int dbi_plugin_is_reserved_word(dbi_plugin Plugin, const char *word)

Looks for the specified word in the list of reserved words. The result of this function may vary between databases. Case does not matter.

Arguments

Plugin: The target plugin.

word: The word to check against the reserved word list.

Returns

-1 if an error occurs, 0 if the word is not reserved, 1 otherwise.

3.2.4. dbi_plugin_specific_function

void *dbi_plugin_specific_function(dbi_plugin Plugin, const char *name)

Returns a function pointer to the specifed custom function. This can be used to access database-specific functionality, but it will restrict your code to one particular database, lessening the benefits of using libdbi.

Arguments

Plugin: The target plugin.

name: The name of the custom function.

Returns

If the custom function is found, a pointer to that function. If not, returns NULL.

3.2.5. dbi_plugin_quote_string

int dbi_plugin_quote_string(dbi_plugin Plugin, char **orig)

Encloses the target string in the types of quotes that the database expects, and escapes any special characters. The original string will be freed and will point to a newly allocated one (which you still must free on your own).

Arguments

Plugin: The target plugin.

orig: A pointer to the string to quote and escape.

Returns

The new string's length.

3.2.6. Plugin Information

3.2.6.1. dbi_plugin_get_name

const char *dbi_plugin_get_name(dbi_plugin Plugin)

Requests the name of the specified plugin. The calling program must not attempt to free the returned string.

Arguments

Plugin: The target plugin.

Returns

A string containing the plugin's name.

3.2.6.2. dbi_plugin_get_filename

const char *dbi_plugin_get_filename(dbi_plugin Plugin)

Requests the filename of the specified plugin. The calling program must not attempt to free the returned string.

Arguments

Plugin: The target plugin.

Returns

A string containing the plugin's full path and file name.

3.2.6.3. dbi_plugin_get_description

const char *dbi_plugin_get_description(dbi_plugin Plugin)

Requests a description of the specified plugin. The calling program must not attempt to free the returned string.

Arguments

Plugin: The target plugin.

Returns

A string containing the plugin's description. It will be one or two short sentences with no newlines.

3.2.6.4. dbi_plugin_get_maintainer

const char *dbi_plugin_get_maintainer(dbi_plugin Plugin)

Requests the maintainer of the specified plugin. The calling program must not attempt to free the returned string.

Arguments

Plugin: The target plugin.

Returns

A string containing the plugin maintainer's full name and email address.

3.2.6.5. dbi_plugin_get_url

const char *dbi_plugin_get_url(dbi_plugin Plugin)

Requests the maintainer's URL for the specified plugin. This is useful for plugins maintained by a third party. The calling program must not attempt to free the returned string.

Arguments

Plugin: The target plugin.

3.2.6.6. dbi_plugin_get_version

const char *dbi_plugin_get_version(dbi_plugin Plugin)

Requests the version of the specified plugin. The calling program must not attempt to free the returned string.

Arguments

Plugin: The target plugin.

Returns

A string containing the plugin's version.

3.2.6.7. dbi_plugin_get_date_compiled

const char *dbi_plugin_get_date_compiled(dbi_plugin Plugin)

Requests the compilation date of the specified plugin. The calling program must not attempt to free the returned string.

Arguments

Plugin: The target plugin.

Returns

A string containing the date the plugin was compiled.