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