Skip to content

Latest commit

 

History

History
 
 

drivers

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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