2         a. I realized that a driver manager doesn't aware of 
 
   3            difference between a C5 (i.e. hstmt) and a C6 
 
   4            (i.e. transaction) states. 
 
   6         b. The link flags "-lc" has been removed from Linux ELF
 
   7            section of Config.mk to fix a segment fault problem.
 
   8            Now, it works fine on Slackware 2.3 and Red Hat 2.0
 
   9            (kernel version are 1.2.xx and 1.3.xx respectively).
 
  11         c. On FreeBSD 2.x, dlsym() doesn't handle the '_' 
 
  12            prepended before a exporting function symbol. So, 
 
  13            CLI_NAME_PREFIX needs to be defined as "_SQL" for 
 
  16         d. Some files are renamed
 
  21 1. iODBC driver manager platform availability
 
  23    iODBC driver manager has been ported to following Unix platforms: 
 
  26         HP/UX           9.x, 10.x       HP9000 s700/s800
 
  27         HP/UX           9.x             HP9000 s300/s400                
 
  28         IBM AIX         3.x, 4.x        IBM RS6000, PowerPC
 
  29         Sun Solaris     2.x             Sun Sparc, PCx86
 
  30         SGI Irix SVR4   5.x, 6.x        IP12 MIPS, IP22 MIPS
 
  32         UnixWare SVR4.2 1.x, 2.x        x86
 
  33         DEC Unix(OSF/1) 3.x, 4.x        DEC Alpha
 
  36         Linux ELF       1.2.x, 1.3.x    x86
 
  37         SCO OpenServer  5.x             x86
 
  38         Max/OS SVR4     1.x             Concurrent Maxion 9200 MP
 
  41    Porting of iODBC driver manager to some non-unix operating systems
 
  42    such as Windows family(3.x, 95, NT), OS/2 and Mac is supported but 
 
  43    has never compiled and tested yet :). Of cause, you need to supply 
 
  44    a make/build file and a short LibMain for creating the iodbc.dll.
 
  46 2. How to build iODBC driver manager:
 
  48         step 1. Identify your system
 
  49         step 2. Run build with a suitable option
 
  53         %[1]: sh iodbc-2.12.shar
 
  56         %[3]: uname -s -v -r -m
 
  57         HP-UX B.10.01 A 9000/710
 
  62         Generating iODBC driver manager --> /home/kejin/iodbc-2.12.sl
 
  64 3. odbc.ini( ~/.odbc.ini )
 
  66    Driver manager and drivers use odbc.ini(or ~/.odbc.ini on Unix) file 
 
  67    or connection string when establishing a data source connection. On
 
  68    Windows, odbc.ini is located in Windows directory. On unix, iODBC driver 
 
  69    manager(and all other ODBC drivers and driver managers I awared) looks 
 
  70    .odbc.ini file in real user's home directory (it could be a softlink to 
 
  71    the file located somewhere else). Make sure your driver will look into 
 
  72    the same file (or a file which is a symbolic link to the same file).  
 
  73    The format of odbc.ini( or ~/.odbc.ini ) is defined as:
 
  75         odbc.ini(or .odbc.ini) ::= data_source_list
 
  77         data_source_list ::= /* empty */
 
  78                            | data_source '\n' data_source_list
 
  80         data_source ::= '[' data_source_name ']' '\n' data_source_desc
 
  82         data_source_name ::= 'default' | [A-Za-z]*[A-Za-z0-9_]*
 
  84         data_source_desc ::= /* empty */
 
  85                            | attrib_desc '\n' data_source_desc
 
  87         addrib_desc ::= Attrib '=' attrib_value
 
  89         Attrib ::= 'Driver' | 'PID' | 'UID' | driver_def_attrib
 
  91         driver_def_attrib ::= [A-Za-z]*[A-Za-z0-9_]*
 
  93    An example of .odbc.ini file:
 
  96         # yellow page of metro Toronto
 
  97         Driver = /usr/lib/odbc/oracle.so
 
 101         # white page of metro Toronto
 
 102         Driver = /usr/lib/odbc/oracle.so
 
 106         # all contract documents
 
 107         Driver = /usr/lib/odbc/informix.so
 
 112         Driver = /usr/lib/odbc/nnodbc.so
 
 113         Server = news.empress.com
 
 116         # data source for R&D test
 
 117         Driver = /home/r_d/odbc/empodbc.so
 
 118         URL = empodbc://rnd.empress.com:6322/rnd_test/testdb
 
 121         # default to odbc gateway
 
 122         Driver = /usr/lib/odbc/gateway.so
 
 126    iODBC driver manager traces driver's ODBC call invoked by the driver 
 
 127    manager. Default tracing file is ./odbc.log. Tracing option (i.e. 
 
 128    on/off or optional tracing file name) can be set in ~/.odbc.ini 
 
 129    file (under a data source section) as:
 
 131         TraceFile = <optional_trace_file>
 
 132         Trace = ON | On | on | 1 | OFF | Off | off | 0
 
 134    If <optional_trace_file> is stderr or stdout, i.e.
 
 142    the tracing message will go to the terminal screen(if it is available).
 
 144    iODBC driver manager allows one to tune on/off tracing on selected
 
 145    connection(s). Different connections can share one or use different 
 
 146    tracing file(s). ODBC calls on connections without tuning tracing on
 
 152         IAFA-PACKAGE    Version and copyright information
 
 153         Changes.log     Source changes log
 
 154         Version.mk      Version make include file
 
 155         Config.mk       Config  make include file
 
 157         config.h        system config include file
 
 158         isql.h          ODBC 1.0 macro 
 
 159         isqlext.h       ODBC 2.0 macro
 
 160         dlf.h           general dynamic loader module interface
 
 161         dlf.c           general dynamic loader module (mapping to svr4)
 
 162         dlproc.h        simple dynamic loader module interface 
 
 163         dlproc.c        simple dynamic loader on top of dlf module
 
 164         herr.h          error handling module interface
 
 165         herr.c          error handling module
 
 166         herr.ci         error handling source include
 
 167         henv.h          environment handle interface
 
 168         henv.c          environment handle module
 
 169         henv.ci         environment handle source include 
 
 170         hdbc.h          connection handle interface
 
 171         hdbc.c          connection handle module
 
 172         hstmt.h         statement  handle interface
 
 173         hstmt.c         statement  handle module
 
 174         connect.c       connect functions
 
 175         prepare.c       query prepare functions
 
 176         execute.c       query executing functions
 
 177         result.c        query result property functions
 
 178         fetch.c         query result fetch functions
 
 179         info.c          driver information functions
 
 180         catalog.c       catalog functions
 
 181         misc.c          miscellaneous functions
 
 183         itrace.c        trace function
 
 184         main.c          entry function used to build a share library on AIX
 
 185         shrsub.exp      export symbol list used on AIX
 
 186         autoconfig      shell script for creating Config.mk
 
 187         build           shell script for building iodbc driver manager