1/*-------------------------------------------------------------------------
2 *
3 * Multibyte character printing support for frontend code
4 *
5 *
6 * Portions Copyright (c) 1996-2019, PostgreSQL Global Development Group
7 * Portions Copyright (c) 1994, Regents of the University of California
8 *
9 * src/include/fe_utils/mbprint.h
10 *
11 *-------------------------------------------------------------------------
12 */
13#ifndef MBPRINT_H
14#define MBPRINT_H
15
16struct lineptr
17{
18 unsigned char *ptr;
19 int width;
20};
21
22extern unsigned char *mbvalidate(unsigned char *pwcs, int encoding);
23extern int pg_wcswidth(const char *pwcs, size_t len, int encoding);
24extern void pg_wcsformat(const unsigned char *pwcs, size_t len, int encoding,
25 struct lineptr *lines, int count);
26extern void pg_wcssize(const unsigned char *pwcs, size_t len, int encoding,
27 int *width, int *height, int *format_size);
28
29#endif /* MBPRINT_H */
30