39 lines
1.5 KiB
C
39 lines
1.5 KiB
C
/* File: psqlodbc.h
|
|
*
|
|
* Description: This file contains defines and declarations that are related to
|
|
* the entire driver.
|
|
*
|
|
* Comments: See "readme.txt" for copyright and license information.
|
|
*/
|
|
|
|
#ifndef __UNICODE_SUPPORT_H__
|
|
#define __UNICODE_SUPPORT_H__
|
|
|
|
#include "psqlodbc.h"
|
|
|
|
#ifdef UNICODE_SUPPORT
|
|
#define WCLEN sizeof(SQLWCHAR)
|
|
enum {
|
|
CONVTYPE_UNKNOWN
|
|
,WCSTYPE_UTF16_LE
|
|
,WCSTYPE_UTF32_LE
|
|
,C16TYPE_UTF16_LE
|
|
};
|
|
char *ucs2_to_utf8(const SQLWCHAR *ucs2str, SQLLEN ilen, SQLLEN *olen, BOOL tolower);
|
|
SQLULEN utf8_to_ucs2_lf(const char * utf8str, SQLLEN ilen, BOOL lfconv, SQLWCHAR *ucs2str, SQLULEN buflen, BOOL errcheck);
|
|
int get_convtype(void);
|
|
#define utf8_to_ucs2(utf8str, ilen, ucs2str, buflen) utf8_to_ucs2_lf(utf8str, ilen, FALSE, ucs2str, buflen, FALSE)
|
|
|
|
SQLLEN bindcol_hybrid_estimate(const char *ldt, BOOL lf_conv, char **wcsbuf);
|
|
SQLLEN bindcol_hybrid_exec(SQLWCHAR *utf16, const char *ldt, size_t n, BOOL lf_conv, char **wcsbuf);
|
|
SQLLEN bindcol_localize_estimate(const char *utf8dt, BOOL lf_conv, char **wcsbuf);
|
|
SQLLEN bindcol_localize_exec(char *ldt, size_t n, BOOL lf_conv, char **wcsbuf);
|
|
SQLLEN bindpara_msg_to_utf8(const char *ldt, char **wcsbuf, SQLLEN used);
|
|
SQLLEN bindpara_wchar_to_msg(const SQLWCHAR *utf16, char **wcsbuf, SQLLEN used);
|
|
|
|
SQLLEN locale_to_sqlwchar(SQLWCHAR *utf16, const char *ldt, size_t n, BOOL lf_conv);
|
|
SQLLEN utf8_to_locale(char *ldt, const char * utf8dt, size_t n, BOOL lf_conv);
|
|
#endif /* UNICODE_SUPPORT */
|
|
|
|
#endif /* __UNICODE_SUPPORT_H__ */
|