home *** CD-ROM | disk | FTP | other *** search
/ PC User 2001 August / APC_Aug2001_CD2.iso / features / devtools / files / borland_ccompiler55.exe / Include / odbcinst.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-06-27  |  15.0 KB  |  405 lines

  1. /*--------------------------------------------------------------------------
  2.   ODBCInst.h -- Prototypes for ODBCCP32.DLL
  3.  
  4.   (c) Microsoft Corp., 1990-1998
  5. --------------------------------------------------------------------------*/
  6.  
  7. #ifndef __ODBCINST_H
  8. #pragma option push -b -a8 -pc -A- /*P_O_Push*/
  9. #define __ODBCINST_H
  10.  
  11. #ifndef __SQL
  12. #include "sql.h"
  13. #endif
  14.  
  15. #ifdef __cplusplus
  16. extern "C" {                               // Assume C declarations for C++
  17. #endif    // __cplusplus
  18.  
  19. #ifndef ODBCVER
  20. #define ODBCVER 0x0351                       // Assume ODBC 3.51
  21. #endif
  22.  
  23. #ifndef WINVER
  24. #define  WINVER  0x0400                     // Assume Windows 4.0
  25. #endif
  26.  
  27. // Constants ---------------------------------------------------------------
  28. // SQLConfigDataSource request flags
  29. #define  ODBC_ADD_DSN     1               // Add data source
  30. #define  ODBC_CONFIG_DSN  2               // Configure (edit) data source
  31. #define  ODBC_REMOVE_DSN  3               // Remove data source
  32.  
  33. #if (ODBCVER >= 0x0250)
  34. #define  ODBC_ADD_SYS_DSN 4                  // add a system DSN
  35. #define  ODBC_CONFIG_SYS_DSN    5          // Configure a system DSN
  36. #define  ODBC_REMOVE_SYS_DSN    6          // remove a system DSN
  37. #if (ODBCVER >= 0x0300)
  38. #define     ODBC_REMOVE_DEFAULT_DSN    7        // remove the default DSN
  39. #endif  /* ODBCVER >= 0x0300 */
  40.  
  41. // install request flags
  42. #define     ODBC_INSTALL_INQUIRY    1        
  43. #define  ODBC_INSTALL_COMPLETE    2
  44.  
  45. // config driver flags
  46. #define  ODBC_INSTALL_DRIVER    1
  47. #define  ODBC_REMOVE_DRIVER        2
  48. #define  ODBC_CONFIG_DRIVER        3
  49. #define  ODBC_CONFIG_DRIVER_MAX 100
  50. #endif
  51.  
  52. // SQLGetConfigMode and SQLSetConfigMode flags
  53. #if (ODBCVER >= 0x0300)
  54. #define ODBC_BOTH_DSN        0
  55. #define ODBC_USER_DSN        1
  56. #define ODBC_SYSTEM_DSN        2
  57. #endif  /* ODBCVER >= 0x0300 */
  58.  
  59. // SQLInstallerError code
  60. #if (ODBCVER >= 0x0300)
  61. #define ODBC_ERROR_GENERAL_ERR                   1
  62. #define ODBC_ERROR_INVALID_BUFF_LEN              2
  63. #define ODBC_ERROR_INVALID_HWND                  3
  64. #define ODBC_ERROR_INVALID_STR                   4
  65. #define ODBC_ERROR_INVALID_REQUEST_TYPE          5
  66. #define ODBC_ERROR_COMPONENT_NOT_FOUND           6
  67. #define ODBC_ERROR_INVALID_NAME                  7
  68. #define ODBC_ERROR_INVALID_KEYWORD_VALUE         8
  69. #define ODBC_ERROR_INVALID_DSN                   9
  70. #define ODBC_ERROR_INVALID_INF                  10
  71. #define ODBC_ERROR_REQUEST_FAILED               11
  72. #define ODBC_ERROR_INVALID_PATH                 12
  73. #define ODBC_ERROR_LOAD_LIB_FAILED              13
  74. #define ODBC_ERROR_INVALID_PARAM_SEQUENCE       14
  75. #define ODBC_ERROR_INVALID_LOG_FILE             15
  76. #define ODBC_ERROR_USER_CANCELED                16
  77. #define ODBC_ERROR_USAGE_UPDATE_FAILED          17
  78. #define ODBC_ERROR_CREATE_DSN_FAILED            18
  79. #define ODBC_ERROR_WRITING_SYSINFO_FAILED       19
  80. #define ODBC_ERROR_REMOVE_DSN_FAILED            20
  81. #define ODBC_ERROR_OUT_OF_MEM                   21
  82. #define ODBC_ERROR_OUTPUT_STRING_TRUNCATED      22
  83. #endif /* ODBCVER >= 0x0300 */
  84.  
  85. #ifndef EXPORT
  86. #define EXPORT 
  87. #endif
  88.  
  89. #ifndef RC_INVOKED
  90. // Prototypes --------------------------------------------------------------
  91. #define INSTAPI __stdcall
  92.  
  93. // High level APIs
  94. BOOL INSTAPI SQLInstallODBC          (HWND       hwndParent,
  95.                                       LPCSTR     lpszInfFile,
  96.                                       LPCSTR     lpszSrcPath,
  97.                                       LPCSTR     lpszDrivers);
  98. BOOL INSTAPI SQLManageDataSources    (HWND       hwndParent);
  99. BOOL INSTAPI SQLCreateDataSource     (HWND       hwndParent,
  100.                                       LPCSTR     lpszDSN);
  101. BOOL INSTAPI SQLGetTranslator        (HWND       hwnd,
  102.                                        LPSTR      lpszName,
  103.                                        WORD       cbNameMax,
  104.                                        WORD      *pcbNameOut,
  105.                                        LPSTR      lpszPath,
  106.                                        WORD       cbPathMax,
  107.                                        WORD      *pcbPathOut,
  108.                                        DWORD     *pvOption);
  109.  
  110. // Low level APIs
  111. // NOTE: The high-level APIs should always be used. These APIs
  112. //       have been left for compatibility.
  113. BOOL INSTAPI SQLInstallDriver        (LPCSTR     lpszInfFile,
  114.                                       LPCSTR     lpszDriver,
  115.                                       LPSTR      lpszPath,
  116.                                       WORD       cbPathMax,
  117.                                       WORD         * pcbPathOut);
  118. BOOL INSTAPI SQLInstallDriverManager (LPSTR      lpszPath,
  119.                                       WORD       cbPathMax,
  120.                                       WORD         * pcbPathOut);
  121. BOOL INSTAPI SQLGetInstalledDrivers  (LPSTR      lpszBuf,
  122.                                       WORD       cbBufMax,
  123.                                       WORD         * pcbBufOut);
  124. BOOL INSTAPI SQLGetAvailableDrivers  (LPCSTR     lpszInfFile,
  125.                                       LPSTR      lpszBuf,
  126.                                       WORD       cbBufMax,
  127.                                       WORD         * pcbBufOut);
  128. BOOL INSTAPI SQLConfigDataSource     (HWND       hwndParent,
  129.                                       WORD       fRequest,
  130.                                       LPCSTR     lpszDriver,
  131.                                       LPCSTR     lpszAttributes);
  132. BOOL INSTAPI SQLRemoveDefaultDataSource(void);
  133. BOOL INSTAPI SQLWriteDSNToIni        (LPCSTR     lpszDSN,
  134.                                       LPCSTR     lpszDriver);
  135. BOOL INSTAPI SQLRemoveDSNFromIni     (LPCSTR     lpszDSN);
  136. BOOL INSTAPI SQLValidDSN             (LPCSTR     lpszDSN);
  137.  
  138. BOOL INSTAPI SQLWritePrivateProfileString(LPCSTR lpszSection,
  139.                                          LPCSTR lpszEntry,
  140.                                          LPCSTR lpszString,
  141.                                          LPCSTR lpszFilename);
  142.  
  143. int  INSTAPI SQLGetPrivateProfileString( LPCSTR lpszSection,
  144.                                         LPCSTR lpszEntry,
  145.                                         LPCSTR lpszDefault,
  146.                                         LPSTR  lpszRetBuffer,
  147.                                         int    cbRetBuffer,
  148.                                         LPCSTR lpszFilename);
  149.  
  150. #if (ODBCVER >= 0x0250)
  151. BOOL INSTAPI SQLRemoveDriverManager(LPDWORD lpdwUsageCount);
  152. BOOL INSTAPI SQLInstallTranslator(LPCSTR lpszInfFile,
  153.                                   LPCSTR lpszTranslator,
  154.                                   LPCSTR lpszPathIn,
  155.                                   LPSTR  lpszPathOut,
  156.                                   WORD   cbPathOutMax,
  157.                                   WORD     *pcbPathOut,
  158.                                   WORD     fRequest,
  159.                                   LPDWORD    lpdwUsageCount);
  160. BOOL INSTAPI SQLRemoveTranslator(LPCSTR lpszTranslator, 
  161.                                  LPDWORD lpdwUsageCount);
  162. BOOL INSTAPI SQLRemoveDriver(LPCSTR lpszDriver, 
  163.                              BOOL fRemoveDSN, 
  164.                              LPDWORD lpdwUsageCount);
  165. BOOL INSTAPI SQLConfigDriver(HWND hwndParent, 
  166.                              WORD fRequest, 
  167.                              LPCSTR lpszDriver,
  168.                              LPCSTR lpszArgs,
  169.                              LPSTR  lpszMsg,
  170.                              WORD   cbMsgMax,
  171.                              WORD     *pcbMsgOut);
  172. #endif
  173.  
  174. #if (ODBCVER >=  0x0300)
  175. SQLRETURN INSTAPI SQLInstallerError(WORD iError,
  176.                             DWORD *pfErrorCode,
  177.                             LPSTR    lpszErrorMsg,
  178.                             WORD    cbErrorMsgMax,
  179.                             WORD    *pcbErrorMsg);
  180. SQLRETURN INSTAPI SQLPostInstallerError(DWORD dwErrorCode, LPCSTR lpszErrMsg);
  181.  
  182. BOOL INSTAPI SQLWriteFileDSN(LPCSTR  lpszFileName,
  183.                              LPCSTR  lpszAppName,
  184.                              LPCSTR  lpszKeyName,
  185.                              LPCSTR  lpszString);
  186.  
  187. BOOL INSTAPI  SQLReadFileDSN(LPCSTR  lpszFileName,
  188.                              LPCSTR  lpszAppName,
  189.                              LPCSTR  lpszKeyName,
  190.                              LPSTR   lpszString,
  191.                              WORD    cbString,
  192.                              WORD   *pcbString);
  193. BOOL INSTAPI SQLInstallDriverEx(LPCSTR lpszDriver,
  194.                              LPCSTR       lpszPathIn,
  195.                              LPSTR       lpszPathOut,
  196.                              WORD       cbPathOutMax,
  197.                              WORD      *pcbPathOut,
  198.                              WORD        fRequest,
  199.                              LPDWORD    lpdwUsageCount);
  200. BOOL INSTAPI SQLInstallTranslatorEx(LPCSTR lpszTranslator,
  201.                                   LPCSTR lpszPathIn,
  202.                                   LPSTR  lpszPathOut,
  203.                                   WORD   cbPathOutMax,
  204.                                   WORD     *pcbPathOut,
  205.                                   WORD     fRequest,
  206.                                   LPDWORD    lpdwUsageCount);
  207. BOOL INSTAPI SQLGetConfigMode(UWORD    *pwConfigMode);
  208. BOOL INSTAPI SQLSetConfigMode(UWORD wConfigMode);
  209. #endif /* ODBCVER >= 0x0300 */
  210.  
  211. //    Driver specific Setup APIs called by installer
  212.  
  213. BOOL INSTAPI ConfigDSN (HWND    hwndParent,
  214.                         WORD    fRequest,
  215.                         LPCSTR    lpszDriver,
  216.                         LPCSTR    lpszAttributes);
  217.  
  218. BOOL INSTAPI ConfigTranslator (    HWND        hwndParent,
  219.                                 DWORD         *pvOption);
  220.  
  221. #if (ODBCVER >= 0x0250)
  222. BOOL INSTAPI ConfigDriver(HWND hwndParent, 
  223.                           WORD fRequest, 
  224.                           LPCSTR lpszDriver,
  225.                           LPCSTR lpszArgs, 
  226.                           LPSTR  lpszMsg, 
  227.                           WORD   cbMsgMax, 
  228.                           WORD     *pcbMsgOut);
  229. #endif
  230.  
  231.  
  232. // UNICODE APIs
  233.  
  234. // High level APIs
  235. BOOL INSTAPI SQLInstallODBCW          (HWND       hwndParent,
  236.                                       LPCWSTR     lpszInfFile,
  237.                                       LPCWSTR     lpszSrcPath,
  238.                                       LPCWSTR     lpszDrivers);
  239. BOOL INSTAPI SQLCreateDataSourceW     (HWND       hwndParent,
  240.                                       LPCWSTR     lpszDSN);
  241. BOOL INSTAPI SQLGetTranslatorW        (HWND       hwnd,
  242.                                        LPWSTR      lpszName,
  243.                                        WORD       cbNameMax,
  244.                                        WORD      *pcbNameOut,
  245.                                        LPWSTR      lpszPath,
  246.                                        WORD       cbPathMax,
  247.                                        WORD      *pcbPathOut,
  248.                                        DWORD     *pvOption);
  249.  
  250. // Low level APIs
  251. // NOTE: The high-level APIs should always be used. These APIs
  252. //       have been left for compatibility.
  253. BOOL INSTAPI SQLInstallDriverW        (LPCWSTR     lpszInfFile,
  254.                                       LPCWSTR     lpszDriver,
  255.                                       LPWSTR      lpszPath,
  256.                                       WORD       cbPathMax,
  257.                                       WORD         * pcbPathOut);
  258. BOOL INSTAPI SQLInstallDriverManagerW (LPWSTR      lpszPath,
  259.                                       WORD       cbPathMax,
  260.                                       WORD         * pcbPathOut);
  261. BOOL INSTAPI SQLGetInstalledDriversW  (LPWSTR      lpszBuf,
  262.                                       WORD       cbBufMax,
  263.                                       WORD         * pcbBufOut);
  264. BOOL INSTAPI SQLGetAvailableDriversW  (LPCWSTR     lpszInfFile,
  265.                                       LPWSTR      lpszBuf,
  266.                                       WORD       cbBufMax,
  267.                                       WORD         * pcbBufOut);
  268. BOOL INSTAPI SQLConfigDataSourceW     (HWND       hwndParent,
  269.                                       WORD       fRequest,
  270.                                       LPCWSTR     lpszDriver,
  271.                                       LPCWSTR     lpszAttributes);
  272. BOOL INSTAPI SQLWriteDSNToIniW        (LPCWSTR     lpszDSN,
  273.                                       LPCWSTR     lpszDriver);
  274. BOOL INSTAPI SQLRemoveDSNFromIniW     (LPCWSTR     lpszDSN);
  275. BOOL INSTAPI SQLValidDSNW             (LPCWSTR     lpszDSN);
  276.  
  277. BOOL INSTAPI SQLWritePrivateProfileStringW(LPCWSTR lpszSection,
  278.                                          LPCWSTR lpszEntry,
  279.                                          LPCWSTR lpszString,
  280.                                          LPCWSTR lpszFilename);
  281.  
  282. int  INSTAPI SQLGetPrivateProfileStringW( LPCWSTR lpszSection,
  283.                                         LPCWSTR lpszEntry,
  284.                                         LPCWSTR lpszDefault,
  285.                                         LPWSTR  lpszRetBuffer,
  286.                                         int    cbRetBuffer,
  287.                                         LPCWSTR lpszFilename);
  288.  
  289. #if (ODBCVER >= 0x0250)
  290. BOOL INSTAPI SQLInstallTranslatorW(LPCWSTR lpszInfFile,
  291.                                   LPCWSTR lpszTranslator,
  292.                                   LPCWSTR lpszPathIn,
  293.                                   LPWSTR  lpszPathOut,
  294.                                   WORD   cbPathOutMax,
  295.                                   WORD     *pcbPathOut,
  296.                                   WORD     fRequest,
  297.                                   LPDWORD    lpdwUsageCount);
  298. BOOL INSTAPI SQLRemoveTranslatorW(LPCWSTR lpszTranslator, 
  299.                                  LPDWORD lpdwUsageCount);
  300. BOOL INSTAPI SQLRemoveDriverW(LPCWSTR lpszDriver, 
  301.                              BOOL fRemoveDSN, 
  302.                              LPDWORD lpdwUsageCount);
  303. BOOL INSTAPI SQLConfigDriverW(HWND hwndParent, 
  304.                              WORD fRequest, 
  305.                              LPCWSTR lpszDriver,
  306.                              LPCWSTR lpszArgs,
  307.                              LPWSTR  lpszMsg,
  308.                              WORD   cbMsgMax,
  309.                              WORD     *pcbMsgOut);
  310. #endif
  311.  
  312. #if (ODBCVER >= 0x0300)
  313. SQLRETURN    INSTAPI SQLInstallerErrorW(WORD    iError,
  314.                             DWORD    *pfErrorCode,
  315.                             LPWSTR    lpszErrorMsg,
  316.                             WORD    cbErrorMsgMax,
  317.                             WORD    *pcbErrorMsg);
  318. SQLRETURN INSTAPI    SQLPostInstallerErrorW(DWORD dwErrorCode, 
  319.                             LPCWSTR lpszErrorMsg);
  320.  
  321. BOOL INSTAPI SQLWriteFileDSNW(LPCWSTR  lpszFileName,
  322.                               LPCWSTR  lpszAppName,
  323.                               LPCWSTR  lpszKeyName,
  324.                               LPCWSTR  lpszString);
  325.  
  326. BOOL INSTAPI  SQLReadFileDSNW(LPCWSTR  lpszFileName,
  327.                               LPCWSTR  lpszAppName,
  328.                               LPCWSTR  lpszKeyName,
  329.                               LPWSTR   lpszString,
  330.                               WORD     cbString,
  331.                               WORD    *pcbString);
  332. BOOL INSTAPI SQLInstallDriverExW(LPCWSTR lpszDriver,
  333.                              LPCWSTR       lpszPathIn,
  334.                              LPWSTR       lpszPathOut,
  335.                              WORD       cbPathOutMax,
  336.                              WORD      *pcbPathOut,
  337.                              WORD        fRequest,
  338.                              LPDWORD    lpdwUsageCount);
  339. BOOL INSTAPI SQLInstallTranslatorExW(LPCWSTR lpszTranslator,
  340.                                   LPCWSTR lpszPathIn,
  341.                                   LPWSTR  lpszPathOut,
  342.                                   WORD   cbPathOutMax,
  343.                                   WORD     *pcbPathOut,
  344.                                   WORD     fRequest,
  345.                                   LPDWORD    lpdwUsageCount);
  346. #endif  /* ODBCVER >= 0x0300 */
  347.  
  348. //    Driver specific Setup APIs called by installer
  349.  
  350. BOOL INSTAPI ConfigDSNW (HWND    hwndParent,
  351.                         WORD    fRequest,
  352.                         LPCWSTR    lpszDriver,
  353.                         LPCWSTR    lpszAttributes);
  354.  
  355.  
  356. #if (ODBCVER >= 0x0250)
  357. BOOL INSTAPI ConfigDriverW(HWND hwndParent, 
  358.                           WORD fRequest, 
  359.                           LPCWSTR lpszDriver,
  360.                           LPCWSTR lpszArgs, 
  361.                           LPWSTR  lpszMsg, 
  362.                           WORD   cbMsgMax, 
  363.                           WORD     *pcbMsgOut);
  364. #endif
  365.  
  366. #ifndef    SQL_NOUNICODEMAP    // define this to disable the mapping
  367. #ifdef     UNICODE
  368.  
  369.  
  370. #define  SQLInstallODBC                 SQLInstallODBCW          
  371. #define  SQLCreateDataSource             SQLCreateDataSourceW 
  372. #define  SQLGetTranslator                 SQLGetTranslatorW     
  373. #define  SQLInstallDriver                SQLInstallDriverW      
  374. #define  SQLInstallDriverManager        SQLInstallDriverManagerW
  375. #define  SQLGetInstalledDrivers            SQLGetInstalledDriversW
  376. #define  SQLGetAvailableDrivers            SQLGetAvailableDriversW 
  377. #define  SQLConfigDataSource            SQLConfigDataSourceW
  378. #define  SQLWriteDSNToIni                SQLWriteDSNToIniW    
  379. #define  SQLRemoveDSNFromIni            SQLRemoveDSNFromIniW  
  380. #define  SQLValidDSN                    SQLValidDSNW           
  381. #define  SQLWritePrivateProfileString    SQLWritePrivateProfileStringW
  382. #define     SQLGetPrivateProfileString        SQLGetPrivateProfileStringW
  383. #define  SQLInstallTranslator            SQLInstallTranslatorW
  384. #define  SQLRemoveTranslator            SQLRemoveTranslatorW
  385. #define  SQLRemoveDriver                SQLRemoveDriverW
  386. #define  SQLConfigDriver                SQLConfigDriverW
  387. #define     SQLInstallerError                SQLInstallerErrorW
  388. #define     SQLPostInstallerError            SQLPostInstallerErrorW
  389. #define  SQLReadFileDSN                 SQLReadFileDSNW
  390. #define  SQLWriteFileDSN                SQLWriteFileDSNW
  391. #define  SQLInstallDriverEx                SQLInstallDriverExW
  392. #define  SQLInstallTranslatorEx            SQLInstallTranslatorExW
  393.  
  394. #endif // UNICODE
  395. #endif // SQL_NOUNICODEMAP
  396.  
  397. #endif // RC_INVOKED
  398.  
  399. #ifdef __cplusplus
  400. }                                    // End of extern "C" {
  401. #endif    // __cplusplus
  402.  
  403. #pragma option pop /*P_O_Pop*/
  404. #endif // __ODBCINST_H
  405.