| 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 | |
| 16 | struct lineptr |
| 17 | { |
| 18 | unsigned char *ptr; |
| 19 | int width; |
| 20 | }; |
| 21 | |
| 22 | extern unsigned char *mbvalidate(unsigned char *pwcs, int encoding); |
| 23 | extern int pg_wcswidth(const char *pwcs, size_t len, int encoding); |
| 24 | extern void pg_wcsformat(const unsigned char *pwcs, size_t len, int encoding, |
| 25 | struct lineptr *lines, int count); |
| 26 | extern 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 | |