odbcinst.h 6.0 KB

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