1/** 2 * Windows API header module 3 * 4 * Translated from MinGW Windows headers 5 * 6 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) 7 * Source: $(DRUNTIMESRC core/sys/windows/_odbcinst.d) 8 */ 9module core.sys.windows.odbcinst; 10version (Windows): 11@system: 12 13version (ANSI) {} else version = Unicode; 14 15import core.sys.windows.sql; 16import core.sys.windows.windef; 17 18/* FIXME: The Unicode/Ansi functions situation is a mess. How do the xxxA 19 * versions of these functions fit into the scheme? 20 */ 21 22// SQLConfigDataSource() 23enum : WORD { 24 ODBC_ADD_DSN = 1, 25 ODBC_CONFIG_DSN = 2, 26 ODBC_REMOVE_DSN = 3, 27 ODBC_ADD_SYS_DSN = 4, 28 ODBC_CONFIG_SYS_DSN = 5, 29 ODBC_REMOVE_SYS_DSN = 6, 30 ODBC_REMOVE_DEFAULT_DSN = 7 31} 32 33// ODBC 3.0+ 34enum : WORD { 35 ODBC_INSTALL_INQUIRY = 1, 36 ODBC_INSTALL_COMPLETE = 2 37} 38 39// ODBC 2.5+ 40enum : WORD { 41 ODBC_INSTALL_DRIVER = 1, 42 ODBC_REMOVE_DRIVER = 2, 43 ODBC_CONFIG_DRIVER = 3, 44 ODBC_CONFIG_DRIVER_MAX = 100 45} 46 47// ODBC 3.0+ 48// SQLSetConfigMode() 49enum : UWORD { 50 ODBC_BOTH_DSN = 0, 51 ODBC_USER_DSN = 1, 52 ODBC_SYSTEM_DSN = 2 53} 54 55enum : DWORD { 56 ODBC_ERROR_GENERAL_ERR = 1, 57 ODBC_ERROR_INVALID_BUFF_LEN = 2, 58 ODBC_ERROR_INVALID_HWND = 3, 59 ODBC_ERROR_INVALID_STR = 4, 60 ODBC_ERROR_INVALID_REQUEST_TYPE = 5, 61 ODBC_ERROR_COMPONENT_NOT_FOUND = 6, 62 ODBC_ERROR_INVALID_NAME = 7, 63 ODBC_ERROR_INVALID_KEYWORD_VALUE = 8, 64 ODBC_ERROR_INVALID_DSN = 9, 65 ODBC_ERROR_INVALID_INF = 10, 66 ODBC_ERROR_REQUEST_FAILED = 11, 67 ODBC_ERROR_INVALID_PATH = 12, 68 ODBC_ERROR_LOAD_LIB_FAILED = 13, 69 ODBC_ERROR_INVALID_PARAM_SEQUENCE = 14, 70 ODBC_ERROR_INVALID_LOG_FILE = 15, 71 ODBC_ERROR_USER_CANCELED = 16, 72 ODBC_ERROR_USAGE_UPDATE_FAILED = 17, 73 ODBC_ERROR_CREATE_DSN_FAILED = 18, 74 ODBC_ERROR_WRITING_SYSINFO_FAILED = 19, 75 ODBC_ERROR_REMOVE_DSN_FAILED = 20, 76 ODBC_ERROR_OUT_OF_MEM = 21, 77 ODBC_ERROR_OUTPUT_STRING_TRUNCATED = 22 78} 79 80extern (Windows): 81BOOL ConfigDSN(HWND,WORD,LPCSTR,LPCSTR); 82BOOL ConfigDSNW(HWND,WORD,LPCWSTR,LPCWSTR); 83BOOL ConfigTranslator(HWND,DWORD*); 84BOOL SQLConfigDataSource(HWND,WORD,LPCSTR,LPCSTR); 85BOOL SQLConfigDataSourceW(HWND,WORD,LPCWSTR,LPCWSTR); 86BOOL SQLCreateDataSource(HWND,LPCSTR); 87BOOL SQLCreateDataSourceW(HWND,LPCWSTR); 88BOOL SQLGetAvailableDrivers(LPCSTR,LPSTR,WORD,WORD*); 89BOOL SQLGetAvailableDriversW(LPCWSTR,LPWSTR,WORD,WORD*); 90BOOL SQLGetInstalledDrivers(LPSTR,WORD,WORD*); 91BOOL SQLGetInstalledDriversW(LPWSTR,WORD,WORD*); 92int SQLGetPrivateProfileString(LPCSTR,LPCSTR,LPCSTR,LPSTR,int,LPCSTR); 93int SQLGetPrivateProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,int,LPCWSTR); 94BOOL SQLGetTranslator(HWND,LPSTR,WORD,WORD*,LPSTR,WORD,WORD*,DWORD*); 95BOOL SQLGetTranslatorW(HWND,LPWSTR,WORD,WORD*,LPWSTR,WORD,WORD*,DWORD*); 96BOOL SQLInstallDriver(LPCSTR,LPCSTR,LPSTR,WORD,WORD*); 97BOOL SQLInstallDriverManager(LPSTR,WORD,WORD*); 98BOOL SQLInstallDriverManagerW(LPWSTR,WORD,WORD*); 99BOOL SQLInstallDriverW(LPCWSTR,LPCWSTR,LPWSTR,WORD,WORD*); 100BOOL SQLInstallODBC(HWND,LPCSTR,LPCSTR,LPCSTR); 101BOOL SQLInstallODBCW(HWND,LPCWSTR,LPCWSTR,LPCWSTR); 102BOOL SQLManageDataSources(HWND); 103BOOL SQLRemoveDefaultDataSource(); 104BOOL SQLRemoveDSNFromIni(LPCSTR); 105BOOL SQLRemoveDSNFromIniW(LPCWSTR); 106BOOL SQLValidDSN(LPCSTR); 107BOOL SQLValidDSNW(LPCWSTR); 108BOOL SQLWriteDSNToIni(LPCSTR,LPCSTR); 109BOOL SQLWriteDSNToIniW(LPCWSTR,LPCWSTR); 110BOOL SQLWritePrivateProfileString(LPCSTR,LPCSTR,LPCSTR,LPCSTR); 111BOOL SQLWritePrivateProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR); 112 113static if (ODBCVER >= 0x0250) { 114 BOOL ConfigDriver(HWND,WORD,LPCSTR,LPCSTR,LPSTR,WORD,WORD*); 115 BOOL ConfigDriverW(HWND,WORD,LPCWSTR,LPCWSTR,LPWSTR,WORD,WORD*); 116 BOOL SQLConfigDriver(HWND,WORD,LPCSTR,LPCSTR,LPSTR,WORD,WORD*); 117 BOOL SQLConfigDriverW(HWND,WORD,LPCWSTR,LPCWSTR,LPWSTR,WORD,WORD*); 118 deprecated ("Use SQLInstallTranslatorExW instead") { 119 BOOL SQLInstallTranslator(LPCSTR,LPCSTR,LPCSTR,LPSTR,WORD,WORD*,WORD,LPDWORD); 120 BOOL SQLInstallTranslatorW(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,WORD,WORD*,WORD,LPDWORD); 121 } 122 BOOL SQLRemoveDriver(LPCSTR,BOOL,LPDWORD); 123 BOOL SQLRemoveDriverManager(LPDWORD); 124 BOOL SQLRemoveDriverW(LPCWSTR,BOOL,LPDWORD); 125 BOOL SQLRemoveTranslator(LPCSTR,LPDWORD); 126 BOOL SQLRemoveTranslatorW(LPCWSTR,LPDWORD); 127} 128static if (ODBCVER >= 0x0300) { 129 BOOL SQLGetConfigMode(UWORD*); 130 BOOL SQLInstallDriverEx(LPCSTR,LPCSTR,LPSTR,WORD,WORD*,WORD,LPDWORD); 131 BOOL SQLInstallDriverExW(LPCWSTR,LPCWSTR,LPWSTR,WORD,WORD*,WORD,LPDWORD); 132 SQLRETURN SQLInstallerError(WORD,DWORD*,LPSTR,WORD,WORD*); 133 SQLRETURN SQLInstallerErrorW(WORD,DWORD*,LPWSTR,WORD,WORD*); 134 BOOL SQLInstallTranslatorEx(LPCSTR,LPCSTR,LPSTR,WORD,WORD*,WORD,LPDWORD); 135 BOOL SQLInstallTranslatorExW(LPCWSTR,LPCWSTR,LPWSTR,WORD,WORD*,WORD,LPDWORD); 136 SQLRETURN SQLPostInstallerError(DWORD,LPCSTR); 137 SQLRETURN SQLPostInstallerErrorW(DWORD,LPCWSTR); 138 BOOL SQLReadFileDSN(LPCSTR,LPCSTR,LPCSTR,LPSTR,WORD,WORD*); 139 BOOL SQLReadFileDSNW(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,WORD,WORD*); 140 BOOL SQLSetConfigMode(UWORD); 141 BOOL SQLWriteFileDSN(LPCSTR,LPCSTR,LPCSTR,LPCSTR); 142 BOOL SQLWriteFileDSNW(LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR); 143} 144 145version (Unicode) { 146 alias SQLConfigDataSourceW SQLConfigDataSource; 147 alias SQLConfigDriverW SQLConfigDriver; 148 alias SQLCreateDataSourceW SQLCreateDataSource; 149 alias SQLGetAvailableDriversW SQLGetAvailableDrivers; 150 alias SQLGetInstalledDriversW SQLGetInstalledDrivers; 151 alias SQLGetPrivateProfileStringW SQLGetPrivateProfileString; 152 alias SQLGetTranslatorW SQLGetTranslator; 153 alias SQLInstallDriverW SQLInstallDriver; 154 alias SQLInstallDriverExW SQLInstallDriverEx; 155 alias SQLInstallDriverManagerW SQLInstallDriverManager; 156 alias SQLInstallerErrorW SQLInstallerError; 157 alias SQLInstallODBCW SQLInstallODBC; 158 deprecated alias SQLInstallTranslatorW SQLInstallTranslator; 159 alias SQLInstallTranslatorExW SQLInstallTranslatorEx; 160 alias SQLPostInstallerErrorW SQLPostInstallerError; 161 alias SQLReadFileDSNW SQLReadFileDSN; 162 alias SQLRemoveDriverW SQLRemoveDriver; 163 alias SQLRemoveDSNFromIniW SQLRemoveDSNFromIni; 164 alias SQLRemoveTranslatorW SQLRemoveTranslator; 165 alias SQLValidDSNW SQLValidDSN; 166 alias SQLWriteDSNToIniW SQLWriteDSNToIni; 167 alias SQLWriteFileDSNW SQLWriteFileDSN; 168 alias SQLWritePrivateProfileStringW SQLWritePrivateProfileString; 169} 170