1 // Copyright © 2015-2017 winapi-rs developers
2 // Licensed under the Apache License, Version 2.0
3 // <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
4 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
5 // All files in the project carrying such notice may not be copied, modified, or distributed
6 // except according to those terms.
7 //! This module defines the ODBC Core unicode functions
8 use um::sqltypes::{
9     SQLCHAR, SQLHANDLE, SQLHDBC, SQLHSTMT, SQLHWND, SQLINTEGER, SQLRETURN, SQLSMALLINT, SQLULEN,
10     SQLUSMALLINT, SQLWCHAR
11 };
12 pub const SQL_WCHAR: SQLSMALLINT = -8;
13 pub const SQL_WVARCHAR: SQLSMALLINT = -9;
14 pub const SQL_WLONGVARCHAR: SQLSMALLINT = -10;
15 pub const SQL_C_WCHAR: SQLSMALLINT = SQL_WCHAR;
16 extern "system" {
SQLConnectW( connectionHandle: SQLHDBC, serverName: *const SQLWCHAR, nameLength1: SQLSMALLINT, userName: *const SQLWCHAR, nameLength2: SQLSMALLINT, authentication: *const SQLWCHAR, nameLength3: SQLSMALLINT, ) -> SQLRETURN17     pub fn SQLConnectW(
18         connectionHandle: SQLHDBC,
19         serverName: *const SQLWCHAR,
20         nameLength1: SQLSMALLINT,
21         userName: *const SQLWCHAR,
22         nameLength2: SQLSMALLINT,
23         authentication: *const SQLWCHAR,
24         nameLength3: SQLSMALLINT,
25     ) -> SQLRETURN;
SQLDescribeColW( statementHandle: SQLHSTMT, columnNumber: SQLUSMALLINT, columnName: *mut SQLWCHAR, bufferLength: SQLSMALLINT, nameLength: *mut SQLSMALLINT, dataType: *mut SQLSMALLINT, columnSize: *mut SQLULEN, decimalDigits: *mut SQLSMALLINT, nullable: *mut SQLSMALLINT, ) -> SQLRETURN26     pub fn SQLDescribeColW(
27         statementHandle: SQLHSTMT,
28         columnNumber: SQLUSMALLINT,
29         columnName: *mut SQLWCHAR,
30         bufferLength: SQLSMALLINT,
31         nameLength: *mut SQLSMALLINT,
32         dataType: *mut SQLSMALLINT,
33         columnSize: *mut SQLULEN,
34         decimalDigits: *mut SQLSMALLINT,
35         nullable: *mut SQLSMALLINT,
36     ) -> SQLRETURN;
SQLExecDirectW( statementHandle: SQLHSTMT, statementText: *const SQLWCHAR, textLength: SQLINTEGER, ) -> SQLRETURN37     pub fn SQLExecDirectW(
38         statementHandle: SQLHSTMT,
39         statementText: *const SQLWCHAR,
40         textLength: SQLINTEGER,
41     ) -> SQLRETURN;
SQLGetDiagRecW( handleType: SQLSMALLINT, handle: SQLHANDLE, recNumber: SQLSMALLINT, sqlstate: *mut SQLWCHAR, nativeError: *mut SQLINTEGER, messageText: *mut SQLWCHAR, bufferLength: SQLSMALLINT, textLength: *mut SQLSMALLINT, ) -> SQLRETURN42     pub fn SQLGetDiagRecW(
43         handleType: SQLSMALLINT,
44         handle: SQLHANDLE,
45         recNumber: SQLSMALLINT,
46         sqlstate: *mut SQLWCHAR,
47         nativeError: *mut SQLINTEGER,
48         messageText: *mut SQLWCHAR,
49         bufferLength: SQLSMALLINT,
50         textLength: *mut SQLSMALLINT,
51     ) -> SQLRETURN;
SQLDriverConnectW( hdbc: SQLHDBC, hwnd: SQLHWND, szConnStrIn: *const SQLWCHAR, cchConnStrIn: SQLSMALLINT, szConnStrOut: *mut SQLWCHAR, cchConnStrOutMax: SQLSMALLINT, pcchConnStrOut: *mut SQLSMALLINT, fDriverCompletion: SQLUSMALLINT, ) -> SQLRETURN52     pub fn SQLDriverConnectW(
53         hdbc: SQLHDBC,
54         hwnd: SQLHWND,
55         szConnStrIn: *const SQLWCHAR,
56         cchConnStrIn: SQLSMALLINT,
57         szConnStrOut: *mut SQLWCHAR,
58         cchConnStrOutMax: SQLSMALLINT,
59         pcchConnStrOut: *mut SQLSMALLINT,
60         fDriverCompletion: SQLUSMALLINT,
61     ) -> SQLRETURN;
SQLConnectA( connectionHandle: SQLHDBC, serverName: *const SQLCHAR, nameLength1: SQLSMALLINT, userName: *const SQLCHAR, nameLength2: SQLSMALLINT, authentication: *const SQLCHAR, nameLength3: SQLSMALLINT, ) -> SQLRETURN62     pub fn SQLConnectA(
63         connectionHandle: SQLHDBC,
64         serverName: *const SQLCHAR,
65         nameLength1: SQLSMALLINT,
66         userName: *const SQLCHAR,
67         nameLength2: SQLSMALLINT,
68         authentication: *const SQLCHAR,
69         nameLength3: SQLSMALLINT,
70     ) -> SQLRETURN;
SQLDescribeColA( statementHandle: SQLHSTMT, columnNumber: SQLUSMALLINT, columnName: *mut SQLCHAR, bufferLength: SQLSMALLINT, nameLength: *mut SQLSMALLINT, dataType: *mut SQLSMALLINT, columnSize: *mut SQLULEN, decimalDigits: *mut SQLSMALLINT, nullable: *mut SQLSMALLINT, ) -> SQLRETURN71     pub fn SQLDescribeColA(
72         statementHandle: SQLHSTMT,
73         columnNumber: SQLUSMALLINT,
74         columnName: *mut SQLCHAR,
75         bufferLength: SQLSMALLINT,
76         nameLength: *mut SQLSMALLINT,
77         dataType: *mut SQLSMALLINT,
78         columnSize: *mut SQLULEN,
79         decimalDigits: *mut SQLSMALLINT,
80         nullable: *mut SQLSMALLINT,
81     ) -> SQLRETURN;
SQLExecDirectA( statementHandle: SQLHSTMT, statementText: *const SQLCHAR, textLength: SQLINTEGER, ) -> SQLRETURN82     pub fn SQLExecDirectA(
83         statementHandle: SQLHSTMT,
84         statementText: *const SQLCHAR,
85         textLength: SQLINTEGER,
86     ) -> SQLRETURN;
SQLGetDiagRecA( handleType: SQLSMALLINT, handle: SQLHANDLE, recNumber: SQLSMALLINT, sqlstate: *mut SQLCHAR, nativeError: *mut SQLINTEGER, messageText: *mut SQLCHAR, bufferLength: SQLSMALLINT, textLength: *mut SQLSMALLINT, ) -> SQLRETURN87     pub fn SQLGetDiagRecA(
88         handleType: SQLSMALLINT,
89         handle: SQLHANDLE,
90         recNumber: SQLSMALLINT,
91         sqlstate: *mut SQLCHAR,
92         nativeError: *mut SQLINTEGER,
93         messageText: *mut SQLCHAR,
94         bufferLength: SQLSMALLINT,
95         textLength: *mut SQLSMALLINT,
96     ) -> SQLRETURN;
SQLDriverConnectA( hdbc: SQLHDBC, hwnd: SQLHWND, szConnStrIn: *const SQLCHAR, cchConnStrIn: SQLSMALLINT, szConnStrOut: *mut SQLCHAR, cchConnStrOutMax: SQLSMALLINT, pcchConnStrOut: *mut SQLSMALLINT, fDriverCompletion: SQLUSMALLINT, ) -> SQLRETURN97     pub fn SQLDriverConnectA(
98         hdbc: SQLHDBC,
99         hwnd: SQLHWND,
100         szConnStrIn: *const SQLCHAR,
101         cchConnStrIn: SQLSMALLINT,
102         szConnStrOut: *mut SQLCHAR,
103         cchConnStrOutMax: SQLSMALLINT,
104         pcchConnStrOut: *mut SQLSMALLINT,
105         fDriverCompletion: SQLUSMALLINT,
106     ) -> SQLRETURN;
107 }
108