3.2. Driver Infrastructure

3.2.1. dbi_driver_list

dbi_driver dbi_driver_list(dbi_driver Current)

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

Arguments

Current: The current driver in the list of drivers.

Returns

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

3.2.2. dbi_driver_open

dbi_driver dbi_driver_open(const char *name)

Locate the driver with the specified name.

Arguments

name: The name of the driver to open.

Returns

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

3.2.3. dbi_driver_is_reserved_word

int dbi_driver_is_reserved_word(dbi_driver Driver, 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

Driver: The target driver.

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_driver_specific_function

void *dbi_driver_specific_function(dbi_driver Driver, 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

Driver: The target driver.

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_driver_quote_string

int dbi_driver_quote_string(dbi_driver Driver, 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

Driver: The target driver.

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

Returns

The new string's length.

3.2.6. Driver Information

3.2.6.1. dbi_driver_get_name

const char *dbi_driver_get_name(dbi_driver Driver)

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

Arguments

Driver: The target driver.

Returns

A string containing the driver's name.

3.2.6.2. dbi_driver_get_filename

const char *dbi_driver_get_filename(dbi_driver Driver)

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

Arguments

Driver: The target driver.

Returns

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

3.2.6.3. dbi_driver_get_description

const char *dbi_driver_get_description(dbi_driver Driver)

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

Arguments

Driver: The target driver.

Returns

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

3.2.6.4. dbi_driver_get_maintainer

const char *dbi_driver_get_maintainer(dbi_driver Driver)

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

Arguments

Driver: The target driver.

Returns

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

3.2.6.5. dbi_driver_get_url

const char *dbi_driver_get_url(dbi_driver Driver)

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

Arguments

Driver: The target driver.

3.2.6.6. dbi_driver_get_version

const char *dbi_driver_get_version(dbi_driver Driver)

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

Arguments

Driver: The target driver.

Returns

A string containing the driver's version.

3.2.6.7. dbi_driver_get_date_compiled

const char *dbi_driver_get_date_compiled(dbi_driver Driver)

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

Arguments

Driver: The target driver.

Returns

A string containing the date the driver was compiled.