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