summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTatsuo Ishii <ishii@postgresql.org>2000-10-12 06:08:28 +0000
committerTatsuo Ishii <ishii@postgresql.org>2000-10-12 06:08:28 +0000
commitf48b9f9ec74e274195f2dce6c3828ad54b64b855 (patch)
tree802569ba72241e5f63f107ec10131946c0a27202
parentde53ce8131fec9bfaa48f646836b7eca17c168e2 (diff)
downloadpostgresql-f48b9f9ec74e274195f2dce6c3828ad54b64b855.tar.gz
Support for automatic code conversion between UNICODE and other
encodings
-rw-r--r--src/include/mb/pg_wchar.h20
1 files changed, 19 insertions, 1 deletions
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.