/* $Id: $ */
#ifndef PG_MB_UTF8_H
#define PG_MB_UTF8_H

/*
 * The pg_wchar 
 */

/* #ifdef MULTIBYTE
   typedef unsigned int pg_wchar;
   #else
   #define pg_wchar char
   #endif
*/
typedef unsigned int pg_wchar;

int pg_mb_wcwidth(pg_wchar ucs);
pg_wchar pg_mb_utf_ucs(const unsigned char *c, int *l);
int pg_mb_utfs_width(unsigned char *pwcs, int truncate);

/* choose 0xffffffff to enforce invalid values, 
 * or 0x00000020 to count as a space.
 */
/* #define PG_MB_UTF_INVALID 0x00000020 */
#define PG_MB_UTF_INVALID 0xffffffff

#define PG_MB_UTF_TRUNC   1
#define PG_MB_UTF_RETINV  0

#endif /* PG_MB_UTF8_H */

