This directory contains drivers for the DBMI library.
The driver functions are for internal usage.

The DBMI API to be used for module programming is available in:
lib/db/


NOTE:
db__driver_* functions are implemented in a driver.  If some of them
are not used or defined, the driver will use stub functions in
lib/db/stubs/

For some platforms like Cygwin, multiply defined symbols are not
resolved in a way that UNIX does.  Even worse is that it is impossible
to build shared libraries with undefined symbols.  For example,
libgrass_dbmidriver.so cannot be built without any implementations
of db__driver_* functions which should be specific to a db driver.

To work around this problem, function pointers are defined to use
driver's implementations instead of those of the db stubs library.
To do this automatically, run '../mk_dbdriver_h.sh' in driver's
directory, #include "dbdriver.h" from main.c, and execute init_dbdriver().

Function pointers are defined in grass6/lib/db/dbmi_driver/dbstubs.h
This header file can be generated with
lib/db/dbmi_driver/mk_dbstubs_h.sh

Please read lib/db/README
