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