home *** CD-ROM | disk | FTP | other *** search
/ Programmer Plus 2007 / Programmer-Plus-2007.iso / Programming / Compilers / digital marsC compier / dm / include / win32 / Odbcinst.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-12-04  |  6.0 KB  |  176 lines

  1. /*--------------------------------------------------------------------------
  2.   ODBCInst.h -- Prototypes for ODBCINST.DLL
  3.  
  4.   (c) Microsoft Corp., 1990-1995
  5. --------------------------------------------------------------------------*/
  6.  
  7. #ifndef __ODBCINST_H
  8. #define __ODBCINST_H
  9.  
  10. #ifdef __cplusplus
  11. extern "C" {                               // Assume C declarations for C++
  12. #endif    // __cplusplus
  13.  
  14. #ifndef ODBCVER
  15. #define ODBCVER 0x0250                       // Assume ODBC 2.50
  16. #endif
  17.  
  18. #ifndef WINVER
  19. #define  WINVER  0x300                     // Assume Windows 3.0
  20. #endif
  21.  
  22. #if (WINVER < 0x30a)
  23. // Win 3.1 Types -----------------------------------------------------------
  24. typedef const char FAR*   LPCSTR;
  25. #endif
  26.  
  27.  
  28. // Constants ---------------------------------------------------------------
  29. // SQLConfigDataSource request flags
  30. #define  ODBC_ADD_DSN     1               // Add data source
  31. #define  ODBC_CONFIG_DSN  2               // Configure (edit) data source
  32. #define  ODBC_REMOVE_DSN  3               // Remove data source
  33.  
  34. #if (ODBCVER >= 0x0250)
  35. #define  ODBC_ADD_SYS_DSN 4                  // add a system DSN
  36. #define  ODBC_CONFIG_SYS_DSN    5          // Configure a system DSN
  37. #define  ODBC_REMOVE_SYS_DSN    6          // remove a system DSN
  38.  
  39. // install request flags
  40. #define     ODBC_INSTALL_INQUIRY    1        
  41. #define  ODBC_INSTALL_COMPLETE    2
  42.  
  43. // config driver flags
  44. #define  ODBC_INSTALL_DRIVER    1
  45. #define  ODBC_REMOVE_DRIVER        2
  46. #define  ODBC_CONFIG_DRIVER_MAX 100
  47. #endif
  48.  
  49. #ifndef EXPORT
  50. #define EXPORT _export
  51. #endif
  52.  
  53. #ifndef RC_INVOKED
  54. // Prototypes --------------------------------------------------------------
  55. #ifdef WIN32
  56. #define INSTAPI __stdcall
  57. #else
  58. #define INSTAPI EXPORT FAR PASCAL
  59. #endif
  60.  
  61. #ifndef WIN32
  62. #define SQLGetPrivateProfileString   GetPrivateProfileString
  63. #define SQLWritePrivateProfileString WritePrivateProfileString
  64. #endif
  65.  
  66. // High level APIs
  67. BOOL INSTAPI SQLInstallODBC          (HWND       hwndParent,
  68.                                       LPCSTR     lpszInfFile,
  69.                                       LPCSTR     lpszSrcPath,
  70.                                       LPCSTR     lpszDrivers);
  71. BOOL INSTAPI SQLManageDataSources    (HWND       hwndParent);
  72. BOOL INSTAPI SQLCreateDataSource     (HWND       hwndParent,
  73.                                       LPCSTR     lpszDSN);
  74. BOOL INSTAPI SQLGetTranslator        (HWND       hwnd,
  75.                                        LPSTR      lpszName,
  76.                                        WORD       cbNameMax,
  77.                                        WORD  FAR *pcbNameOut,
  78.                                        LPSTR      lpszPath,
  79.                                        WORD       cbPathMax,
  80.                                        WORD  FAR *pcbPathOut,
  81.                                        DWORD FAR *pvOption);
  82.  
  83. // Low level APIs
  84. // NOTE: The high-level APIs should always be used. These APIs
  85. //       have been left for compatibility.
  86. BOOL INSTAPI SQLInstallDriver        (LPCSTR     lpszInfFile,
  87.                                       LPCSTR     lpszDriver,
  88.                                       LPSTR      lpszPath,
  89.                                       WORD       cbPathMax,
  90.                                       WORD FAR * pcbPathOut);
  91. BOOL INSTAPI SQLInstallDriverManager (LPSTR      lpszPath,
  92.                                       WORD       cbPathMax,
  93.                                       WORD FAR * pcbPathOut);
  94. BOOL INSTAPI SQLGetInstalledDrivers  (LPSTR      lpszBuf,
  95.                                       WORD       cbBufMax,
  96.                                       WORD FAR * pcbBufOut);
  97. BOOL INSTAPI SQLGetAvailableDrivers  (LPCSTR     lpszInfFile,
  98.                                       LPSTR      lpszBuf,
  99.                                       WORD       cbBufMax,
  100.                                       WORD FAR * pcbBufOut);
  101. BOOL INSTAPI SQLConfigDataSource     (HWND       hwndParent,
  102.                                       WORD       fRequest,
  103.                                       LPCSTR     lpszDriver,
  104.                                       LPCSTR     lpszAttributes);
  105. BOOL INSTAPI SQLRemoveDefaultDataSource(void);
  106. BOOL INSTAPI SQLWriteDSNToIni        (LPCSTR     lpszDSN,
  107.                                       LPCSTR     lpszDriver);
  108. BOOL INSTAPI SQLRemoveDSNFromIni     (LPCSTR     lpszDSN);
  109. BOOL INSTAPI SQLValidDSN             (LPCSTR     lpszDSN);
  110.  
  111. #ifdef WIN32
  112. BOOL INSTAPI SQLWritePrivateProfileString(LPCSTR lpszSection,
  113.                                          LPCSTR lpszEntry,
  114.                                          LPCSTR lpszString,
  115.                                          LPCSTR lpszFilename);
  116.  
  117. int  INSTAPI SQLGetPrivateProfileString( LPCSTR lpszSection,
  118.                                         LPCSTR lpszEntry,
  119.                                         LPCSTR lpszDefault,
  120.                                         LPSTR  lpszRetBuffer,
  121.                                         int    cbRetBuffer,
  122.                                         LPCSTR lpszFilename);
  123. #endif
  124.  
  125. #if (ODBCVER >= 0x0250)
  126. BOOL INSTAPI SQLRemoveDriverManager(LPDWORD lpdwUsageCount);
  127. BOOL INSTAPI SQLInstallTranslator(LPCSTR lpszInfFile,
  128.                                   LPCSTR lpszTranslator,
  129.                                   LPCSTR lpszPathIn,
  130.                                   LPSTR  lpszPathOut,
  131.                                   WORD   cbPathOutMax,
  132.                                   WORD FAR *pcbPathOut,
  133.                                   WORD     fRequest,
  134.                                   LPDWORD    lpdwUsageCount);
  135. BOOL INSTAPI SQLRemoveTranslator(LPCSTR lpszTranslator, 
  136.                                  LPDWORD lpdwUsageCount);
  137. BOOL INSTAPI SQLRemoveDriver(LPCSTR lpszDriver, 
  138.                              BOOL fRemoveDSN, 
  139.                              LPDWORD lpdwUsageCount);
  140. BOOL INSTAPI SQLConfigDriver(HWND hwndParent, 
  141.                              WORD fRequest, 
  142.                              LPCSTR lpszDriver,
  143.                              LPCSTR lpszArgs,
  144.                              LPSTR  lpszMsg,
  145.                              WORD   cbMsgMax,
  146.                              WORD FAR *pcbMsgOut);
  147. #endif
  148.  
  149. //    Driver specific Setup APIs called by installer
  150.  
  151. BOOL INSTAPI ConfigDSN (HWND    hwndParent,
  152.                         WORD    fRequest,
  153.                         LPCSTR    lpszDriver,
  154.                         LPCSTR    lpszAttributes);
  155.  
  156. BOOL INSTAPI ConfigTranslator (    HWND        hwndParent,
  157.                                 DWORD FAR  *pvOption);
  158.  
  159. #if (ODBCVER >= 0x0250)
  160. BOOL INSTAPI ConfigDriver(HWND hwndParent, 
  161.                           WORD fRequest, 
  162.                           LPCSTR lpszDriver,
  163.                           LPCSTR lpszArgs, 
  164.                           LPSTR  lpszMsg, 
  165.                           WORD   cbMsgMax, 
  166.                           WORD FAR *pcbMsgOut);
  167. #endif
  168.  
  169. #endif // RC_INVOKED
  170.  
  171. #ifdef __cplusplus
  172. }                                    // End of extern "C" {
  173. #endif    // __cplusplus
  174.  
  175. #endif // __ODBCINST_H
  176.