1 /* $NetBSD: conv.h,v 1.2 2013/11/22 15:52:05 christos Exp $ */ 2 #define KEY_COL(sp, ch) \ 3 (INTISWIDE(ch) ? \ 4 (CHAR_WIDTH(sp, ch) >= 0) ? \ 5 (size_t)CHAR_WIDTH(sp, ch) : 1 /* extra space */ \ 6 : KEY_LEN(sp,ch)) 7 8 struct _conv_win { 9 void *bp1; 10 size_t blen1; 11 }; 12 13 typedef int (*char2wchar_t) 14 (SCR *, const char *, ssize_t, struct _conv_win *, size_t *, const CHAR_T **); 15 typedef int (*wchar2char_t) 16 (SCR *, const CHAR_T *, ssize_t, struct _conv_win *, size_t *, const char **); 17 18 struct _conv { 19 char2wchar_t sys2int; 20 wchar2char_t int2sys; 21 char2wchar_t file2int; 22 wchar2char_t int2file; 23 char2wchar_t input2int; 24 wchar2char_t int2disp; 25 }; 26 void conv_init __P((SCR *, SCR *)); 27 int conv_enc __P((SCR *, int, const char *)); 28