FreeTDS API
Modules
Here is a list of all modules:
[detail level 123]
 The db-lib APIFunctions callable by db-lib client programs
 Primary functionsCore functions needed by most db-lib programs.
 Remote Procedure functionsFunctions used with stored procedures.
Especially useful for OUTPUT parameters, because modern Microsoft servers do not return output parameter data to the client unless the procedure was invoked with dbrpcsend().
 Bulk copy functionsFunctions to bulk-copy (a/k/a bcp) data to/from the database.
 Internal bcp functionsStatic functions internal to the bcp library.
 Money functionsFunctions to manipulate the MONEY datatype.
 Datetime functionsFunctions to manipulate DBDATETIME structures. Defined by Sybase only.
These are not implemented:
 InternalsFunctions called within db-lib for self-help.
These functions are of interest only to people hacking on the FreeTDS db-lib implementation.
 UnimplementedFunctions thus far not implemented in the FreeTDS db-lib implementation.
While some of these are simply awaiting someone with time and skill (and inclination) it might be noted here that the old browse functions (e.g. dbcolbrowse()) are on the never-to-do list.
They were defined by Sybase and were superseded long ago, although they're still present in Microsoft's implementation.
They were never popular and today better alternatives are available.
For completeness, they are:
 ODBC APIFunctions callable by ODBC client programs
 ODBC utilityFunctions called within ODBC driver
 LibTDS APICallable functions in libtds
 AuthenticationFunctions for handling authentication
 ConfigurationHandle reading of configuration
 ConversionConversions between datatypes. Supports, for example, dbconvert().
 Charset conversionConvert between different charsets
 Memory allocationAllocate or free resources. Allocation can fail only on out of memory. In such case they return NULL and leave the state as before call. Mainly function names are in the form tds_alloc_XX or tds_free_XXX. tds_alloc_XXX functions allocate structures and return pointer to allocated data while tds_free_XXX take structure pointers and free them. Some functions require additional parameters to initialize structure correctly. The main exception are structures that use reference counting. These structures have tds_alloc_XXX functions but instead of tds_free_XXX use tds_release_XXX
 QueryFunction to handle query
 Network functionsFunctions for reading or writing from network
 Results processingHandle tokens in packets. Many PDU (packets data unit) contain tokens. (like result description, rows, data, errors and many other)
 Dynamic string functionsHandle dynamic string. In this string are always valid (you don't have NULL pointer, only empty strings)