4e2933c620 2015-04-21 kinaba: /***********************************************************************\ 4e2933c620 2015-04-21 kinaba: * odbcinst.d * 4e2933c620 2015-04-21 kinaba: * * 4e2933c620 2015-04-21 kinaba: * Windows API header module * 4e2933c620 2015-04-21 kinaba: * * 4e2933c620 2015-04-21 kinaba: * Translated from MinGW Windows headers * 4e2933c620 2015-04-21 kinaba: * * 4e2933c620 2015-04-21 kinaba: * Placed into public domain * 4e2933c620 2015-04-21 kinaba: \***********************************************************************/ 4e2933c620 2015-04-21 kinaba: module win32.odbcinst; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: import win32.sql; 4e2933c620 2015-04-21 kinaba: private import win32.windef; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: /* FIXME: The Unicode/Ansi functions situation is a mess. How do the xxxA 4e2933c620 2015-04-21 kinaba: * versions of these functions fit into the scheme? 4e2933c620 2015-04-21 kinaba: */ 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // SQLConfigDataSource() 4e2933c620 2015-04-21 kinaba: enum : WORD { 4e2933c620 2015-04-21 kinaba: ODBC_ADD_DSN = 1, 4e2933c620 2015-04-21 kinaba: ODBC_CONFIG_DSN = 2, 4e2933c620 2015-04-21 kinaba: ODBC_REMOVE_DSN = 3, 4e2933c620 2015-04-21 kinaba: ODBC_ADD_SYS_DSN = 4, 4e2933c620 2015-04-21 kinaba: ODBC_CONFIG_SYS_DSN = 5, 4e2933c620 2015-04-21 kinaba: ODBC_REMOVE_SYS_DSN = 6, 4e2933c620 2015-04-21 kinaba: ODBC_REMOVE_DEFAULT_DSN = 7 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // ODBC 3.0+ 4e2933c620 2015-04-21 kinaba: enum : WORD { 4e2933c620 2015-04-21 kinaba: ODBC_INSTALL_INQUIRY = 1, 4e2933c620 2015-04-21 kinaba: ODBC_INSTALL_COMPLETE = 2 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // ODBC 2.5+ 4e2933c620 2015-04-21 kinaba: enum : WORD { 4e2933c620 2015-04-21 kinaba: ODBC_INSTALL_DRIVER = 1, 4e2933c620 2015-04-21 kinaba: ODBC_REMOVE_DRIVER = 2, 4e2933c620 2015-04-21 kinaba: ODBC_CONFIG_DRIVER = 3, 4e2933c620 2015-04-21 kinaba: ODBC_CONFIG_DRIVER_MAX = 100 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // ODBC 3.0+ 4e2933c620 2015-04-21 kinaba: // SQLSetConfigMode() 4e2933c620 2015-04-21 kinaba: enum : UWORD { 4e2933c620 2015-04-21 kinaba: ODBC_BOTH_DSN = 0, 4e2933c620 2015-04-21 kinaba: ODBC_USER_DSN = 1, 4e2933c620 2015-04-21 kinaba: ODBC_SYSTEM_DSN = 2 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum : DWORD { 4e2933c620 2015-04-21 kinaba: ODBC_ERROR_GENERAL_ERR = 1, 4e2933c620 2015-04-21 kinaba: ODBC_ERROR_INVALID_BUFF_LEN = 2, 4e2933c620 2015-04-21 kinaba: ODBC_ERROR_INVALID_HWND = 3, 4e2933c620 2015-04-21 kinaba: ODBC_ERROR_INVALID_STR = 4, 4e2933c620 2015-04-21 kinaba: ODBC_ERROR_INVALID_REQUEST_TYPE = 5, 4e2933c620 2015-04-21 kinaba: ODBC_ERROR_COMPONENT_NOT_FOUND = 6, 4e2933c620 2015-04-21 kinaba: ODBC_ERROR_INVALID_NAME = 7, 4e2933c620 2015-04-21 kinaba: ODBC_ERROR_INVALID_KEYWORD_VALUE = 8, 4e2933c620 2015-04-21 kinaba: ODBC_ERROR_INVALID_DSN = 9, 4e2933c620 2015-04-21 kinaba: ODBC_ERROR_INVALID_INF = 10, 4e2933c620 2015-04-21 kinaba: ODBC_ERROR_REQUEST_FAILED = 11, 4e2933c620 2015-04-21 kinaba: ODBC_ERROR_INVALID_PATH = 12, 4e2933c620 2015-04-21 kinaba: ODBC_ERROR_LOAD_LIB_FAILED = 13, 4e2933c620 2015-04-21 kinaba: ODBC_ERROR_INVALID_PARAM_SEQUENCE = 14, 4e2933c620 2015-04-21 kinaba: ODBC_ERROR_INVALID_LOG_FILE = 15, 4e2933c620 2015-04-21 kinaba: ODBC_ERROR_USER_CANCELED = 16, 4e2933c620 2015-04-21 kinaba: ODBC_ERROR_USAGE_UPDATE_FAILED = 17, 4e2933c620 2015-04-21 kinaba: ODBC_ERROR_CREATE_DSN_FAILED = 18, 4e2933c620 2015-04-21 kinaba: ODBC_ERROR_WRITING_SYSINFO_FAILED = 19, 4e2933c620 2015-04-21 kinaba: ODBC_ERROR_REMOVE_DSN_FAILED = 20, 4e2933c620 2015-04-21 kinaba: ODBC_ERROR_OUT_OF_MEM = 21, 4e2933c620 2015-04-21 kinaba: ODBC_ERROR_OUTPUT_STRING_TRUNCATED = 22 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: extern (Windows): 4e2933c620 2015-04-21 kinaba: BOOL ConfigDSN(HWND,WORD,LPCSTR,LPCSTR); 4e2933c620 2015-04-21 kinaba: BOOL ConfigDSNW(HWND,WORD,LPCWSTR,LPCWSTR); 4e2933c620 2015-04-21 kinaba: BOOL ConfigTranslator(HWND,DWORD*); 4e2933c620 2015-04-21 kinaba: BOOL SQLConfigDataSource(HWND,WORD,LPCSTR,LPCSTR); 4e2933c620 2015-04-21 kinaba: BOOL SQLConfigDataSourceW(HWND,WORD,LPCWSTR,LPCWSTR); 4e2933c620 2015-04-21 kinaba: BOOL SQLCreateDataSource(HWND,LPCSTR); 4e2933c620 2015-04-21 kinaba: BOOL SQLCreateDataSourceW(HWND,LPCWSTR); 4e2933c620 2015-04-21 kinaba: BOOL SQLGetAvailableDrivers(LPCSTR,LPSTR,WORD,WORD*); 4e2933c620 2015-04-21 kinaba: BOOL SQLGetAvailableDriversW(LPCWSTR,LPWSTR,WORD,WORD*); 4e2933c620 2015-04-21 kinaba: BOOL SQLGetInstalledDrivers(LPSTR,WORD,WORD*); 4e2933c620 2015-04-21 kinaba: BOOL SQLGetInstalledDriversW(LPWSTR,WORD,WORD*); 4e2933c620 2015-04-21 kinaba: int SQLGetPrivateProfileString(LPCSTR,LPCSTR,LPCSTR,LPSTR,int,LPCSTR); 4e2933c620 2015-04-21 kinaba: int SQLGetPrivateProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,int,LPCWSTR); 4e2933c620 2015-04-21 kinaba: BOOL SQLGetTranslator(HWND,LPSTR,WORD,WORD*,LPSTR,WORD,WORD*,DWORD*); 4e2933c620 2015-04-21 kinaba: BOOL SQLGetTranslatorW(HWND,LPWSTR,WORD,WORD*,LPWSTR,WORD,WORD*,DWORD*); 4e2933c620 2015-04-21 kinaba: BOOL SQLInstallDriver(LPCSTR,LPCSTR,LPSTR,WORD,WORD*); 4e2933c620 2015-04-21 kinaba: BOOL SQLInstallDriverManager(LPSTR,WORD,WORD*); 4e2933c620 2015-04-21 kinaba: BOOL SQLInstallDriverManagerW(LPWSTR,WORD,WORD*); 4e2933c620 2015-04-21 kinaba: BOOL SQLInstallDriverW(LPCWSTR,LPCWSTR,LPWSTR,WORD,WORD*); 4e2933c620 2015-04-21 kinaba: BOOL SQLInstallODBC(HWND,LPCSTR,LPCSTR,LPCSTR); 4e2933c620 2015-04-21 kinaba: BOOL SQLInstallODBCW(HWND,LPCWSTR,LPCWSTR,LPCWSTR); 4e2933c620 2015-04-21 kinaba: BOOL SQLManageDataSources(HWND); 4e2933c620 2015-04-21 kinaba: BOOL SQLRemoveDefaultDataSource(); 4e2933c620 2015-04-21 kinaba: BOOL SQLRemoveDSNFromIni(LPCSTR); 4e2933c620 2015-04-21 kinaba: BOOL SQLRemoveDSNFromIniW(LPCWSTR); 4e2933c620 2015-04-21 kinaba: BOOL SQLValidDSN(LPCSTR); 4e2933c620 2015-04-21 kinaba: BOOL SQLValidDSNW(LPCWSTR); 4e2933c620 2015-04-21 kinaba: BOOL SQLWriteDSNToIni(LPCSTR,LPCSTR); 4e2933c620 2015-04-21 kinaba: BOOL SQLWriteDSNToIniW(LPCWSTR,LPCWSTR); 4e2933c620 2015-04-21 kinaba: BOOL SQLWritePrivateProfileString(LPCSTR,LPCSTR,LPCSTR,LPCSTR); 4e2933c620 2015-04-21 kinaba: BOOL SQLWritePrivateProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR); 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: static if (ODBCVER >= 0x0250) { 4e2933c620 2015-04-21 kinaba: BOOL ConfigDriver(HWND,WORD,LPCSTR,LPCSTR,LPSTR,WORD,WORD*); 4e2933c620 2015-04-21 kinaba: BOOL ConfigDriverW(HWND,WORD,LPCWSTR,LPCWSTR,LPWSTR,WORD,WORD*); 4e2933c620 2015-04-21 kinaba: BOOL SQLConfigDriver(HWND,WORD,LPCSTR,LPCSTR,LPSTR,WORD,WORD*); 4e2933c620 2015-04-21 kinaba: BOOL SQLConfigDriverW(HWND,WORD,LPCWSTR,LPCWSTR,LPWSTR,WORD,WORD*); 4e2933c620 2015-04-21 kinaba: deprecated { 4e2933c620 2015-04-21 kinaba: BOOL SQLInstallTranslator(LPCSTR,LPCSTR,LPCSTR,LPSTR,WORD,WORD*,WORD,LPDWORD); 4e2933c620 2015-04-21 kinaba: BOOL SQLInstallTranslatorW(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,WORD,WORD*,WORD,LPDWORD); 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: BOOL SQLRemoveDriver(LPCSTR,BOOL,LPDWORD); 4e2933c620 2015-04-21 kinaba: BOOL SQLRemoveDriverManager(LPDWORD); 4e2933c620 2015-04-21 kinaba: BOOL SQLRemoveDriverW(LPCWSTR,BOOL,LPDWORD); 4e2933c620 2015-04-21 kinaba: BOOL SQLRemoveTranslator(LPCSTR,LPDWORD); 4e2933c620 2015-04-21 kinaba: BOOL SQLRemoveTranslatorW(LPCWSTR,LPDWORD); 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: static if (ODBCVER >= 0x0300) { 4e2933c620 2015-04-21 kinaba: BOOL SQLGetConfigMode(UWORD*); 4e2933c620 2015-04-21 kinaba: BOOL SQLInstallDriverEx(LPCSTR,LPCSTR,LPSTR,WORD,WORD*,WORD,LPDWORD); 4e2933c620 2015-04-21 kinaba: BOOL SQLInstallDriverExW(LPCWSTR,LPCWSTR,LPWSTR,WORD,WORD*,WORD,LPDWORD); 4e2933c620 2015-04-21 kinaba: SQLRETURN SQLInstallerError(WORD,DWORD*,LPSTR,WORD,WORD*); 4e2933c620 2015-04-21 kinaba: SQLRETURN SQLInstallerErrorW(WORD,DWORD*,LPWSTR,WORD,WORD*); 4e2933c620 2015-04-21 kinaba: BOOL SQLInstallTranslatorEx(LPCSTR,LPCSTR,LPSTR,WORD,WORD*,WORD,LPDWORD); 4e2933c620 2015-04-21 kinaba: BOOL SQLInstallTranslatorExW(LPCWSTR,LPCWSTR,LPWSTR,WORD,WORD*,WORD,LPDWORD); 4e2933c620 2015-04-21 kinaba: SQLRETURN SQLPostInstallerError(DWORD,LPCSTR); 4e2933c620 2015-04-21 kinaba: SQLRETURN SQLPostInstallerErrorW(DWORD,LPCWSTR); 4e2933c620 2015-04-21 kinaba: BOOL SQLReadFileDSN(LPCSTR,LPCSTR,LPCSTR,LPSTR,WORD,WORD*); 4e2933c620 2015-04-21 kinaba: BOOL SQLReadFileDSNW(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,WORD,WORD*); 4e2933c620 2015-04-21 kinaba: BOOL SQLSetConfigMode(UWORD); 4e2933c620 2015-04-21 kinaba: BOOL SQLWriteFileDSN(LPCSTR,LPCSTR,LPCSTR,LPCSTR); 4e2933c620 2015-04-21 kinaba: BOOL SQLWriteFileDSNW(LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR); 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: version (Unicode) { 4e2933c620 2015-04-21 kinaba: alias SQLConfigDataSourceW SQLConfigDataSource; 4e2933c620 2015-04-21 kinaba: alias SQLConfigDriverW SQLConfigDriver; 4e2933c620 2015-04-21 kinaba: alias SQLCreateDataSourceW SQLCreateDataSource; 4e2933c620 2015-04-21 kinaba: alias SQLGetAvailableDriversW SQLGetAvailableDrivers; 4e2933c620 2015-04-21 kinaba: alias SQLGetInstalledDriversW SQLGetInstalledDrivers; 4e2933c620 2015-04-21 kinaba: alias SQLGetPrivateProfileStringW SQLGetPrivateProfileString; 4e2933c620 2015-04-21 kinaba: alias SQLGetTranslatorW SQLGetTranslator; 4e2933c620 2015-04-21 kinaba: alias SQLInstallDriverW SQLInstallDriver; 4e2933c620 2015-04-21 kinaba: alias SQLInstallDriverExW SQLInstallDriverEx; 4e2933c620 2015-04-21 kinaba: alias SQLInstallDriverManagerW SQLInstallDriverManager; 4e2933c620 2015-04-21 kinaba: alias SQLInstallerErrorW SQLInstallerError; 4e2933c620 2015-04-21 kinaba: alias SQLInstallODBCW SQLInstallODBC; 4e2933c620 2015-04-21 kinaba: deprecated alias SQLInstallTranslatorW SQLInstallTranslator; 4e2933c620 2015-04-21 kinaba: alias SQLInstallTranslatorExW SQLInstallTranslatorEx; 4e2933c620 2015-04-21 kinaba: alias SQLPostInstallerErrorW SQLPostInstallerError; 4e2933c620 2015-04-21 kinaba: alias SQLReadFileDSNW SQLReadFileDSN; 4e2933c620 2015-04-21 kinaba: alias SQLRemoveDriverW SQLRemoveDriver; 4e2933c620 2015-04-21 kinaba: alias SQLRemoveDSNFromIniW SQLRemoveDSNFromIni; 4e2933c620 2015-04-21 kinaba: alias SQLRemoveTranslatorW SQLRemoveTranslator; 4e2933c620 2015-04-21 kinaba: alias SQLValidDSNW SQLValidDSN; 4e2933c620 2015-04-21 kinaba: alias SQLWriteDSNToIniW SQLWriteDSNToIni; 4e2933c620 2015-04-21 kinaba: alias SQLWriteFileDSNW SQLWriteFileDSN; 4e2933c620 2015-04-21 kinaba: alias SQLWritePrivateProfileStringW SQLWritePrivateProfileString; 4e2933c620 2015-04-21 kinaba: }