From f48b9f9ec74e274195f2dce6c3828ad54b64b855 Mon Sep 17 00:00:00 2001 From: Tatsuo Ishii Date: Thu, 12 Oct 2000 06:08:28 +0000 Subject: [PATCH] Support for automatic code conversion between UNICODE and other encodings --- src/include/mb/pg_wchar.h | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/include/mb/pg_wchar.h b/src/include/mb/pg_wchar.h index 6a1b918ed7..84534da687 100644 --- a/src/include/mb/pg_wchar.h +++ b/src/include/mb/pg_wchar.h @@ -1,4 +1,4 @@ -/* $Id: pg_wchar.h,v 1.17 2000/08/25 14:24:09 ishii Exp $ */ +/* $Id: pg_wchar.h,v 1.18 2000/10/12 06:08:28 ishii Exp $ */ #ifndef PG_WCHAR_H #define PG_WCHAR_H @@ -82,6 +82,8 @@ typedef struct * client only */ void (*to_mic) (); /* client encoding to MIC */ void (*from_mic) (); /* MIC to client encoding */ + void (*to_unicode) (); /* client encoding to UTF-8 */ + void (*from_unicode) (); /* UTF-8 to client encoding */ } pg_encoding_conv_tbl; extern pg_encoding_conv_tbl pg_conv_tbl[]; @@ -95,6 +97,19 @@ typedef struct extern pg_wchar_tbl pg_wchar_table[]; +typedef struct +{ + unsigned int utf; /* UTF-8 */ + unsigned int code; /* local code */ + unsigned char encoding; /* encoding */ +} pg_utf_to_local; + +typedef struct +{ + unsigned int code; /* local code */ + unsigned int utf; /* UTF-8 */ +} pg_local_to_utf; + extern int pg_mb2wchar(const unsigned char *, pg_wchar *); extern int pg_mb2wchar_with_len(const unsigned char *, pg_wchar *, int); extern int pg_char_and_wchar_strcmp(const char *, const pg_wchar *); @@ -102,6 +117,7 @@ extern int pg_wchar_strncmp(const pg_wchar *, const pg_wchar *, size_t); extern int pg_char_and_wchar_strncmp(const char *, const pg_wchar *, size_t); extern size_t pg_wchar_strlen(const pg_wchar *); extern int pg_mblen(const unsigned char *); +extern int pg_mblen_with_encoding(const unsigned char *, int); extern int pg_encoding_mblen(int, const unsigned char *); extern int pg_mule_mblen(const unsigned char *); extern int pg_mic_mblen(const unsigned char *); @@ -120,6 +136,8 @@ extern int pg_get_client_encoding(void); extern unsigned char *pg_client_to_server(unsigned char *, int); extern unsigned char *pg_server_to_client(unsigned char *, int); extern int pg_valid_client_encoding(const char *); +extern pg_encoding_conv_tbl *pg_get_enc_ent(int); +extern int pg_utf_mblen(const unsigned char *); /* internally-used versions of functions. The PG_xxx forms of these * functions have fmgr-compatible interfaves. -- 2.40.0