/* * Copyright (c) 2004 Iwata * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ #ifndef SJ3RKCV_H #define SJ3RKCV_H #include "rk.h" /* rk_conv.c */ #define RKSIZE 256 #define RKINCZ 32 typedef struct rkbufrec { RkTablW16 *rkbuf; RkTablW16 *rkend; struct rkbufrec *rkbufp; } RkbufRec; #define STRSIZE 1024 #define STRINCZ 256 typedef struct strbufrec { wchar16_t *strbuf; wchar16_t *strend; struct strbufrec *strbufp; } StrbufRec; #define YMISIZE 512 #define YMIINCZ 64 typedef struct ymibufrec { wchar16_t *ymibuf; wchar16_t *ymiend; struct ymibufrec *ymibufp; } YmibufRec; extern RkTabl *sj3_rcode[MAXCODE]; extern RkTablW16 *sj3_rcode_w16[MAXCODE]; extern RkTablW16 *rktblp; extern wchar16_t rline[MAXLLEN]; extern wchar16_t lstr[MAXLLEN]; void sj3_rkcode(int); int sj3_rkinit2(char *, int); int rcode_sjis_init(); int rcode_euc_init(); int sj3_rkinit(char *); int sj3_rkinit_euc(char *); int sj3_rkinit_mb(char *); int sj3_rkinit_sub(char *rkfile, int (*)()); char *rkgetyomi(char *, wchar16_t *, int *); char *getkey(char *, wchar16_t *, int *); void cltable(); int chk_rstr(wchar16_t *, wchar16_t *, int, int); RkTablW16 *rkalloc(); int stradd(wchar16_t **, wchar16_t *, int); int kstradd(wchar16_t **, wchar16_t *, int); RkTablW16 * mktable(wchar16_t *, int); void sj3_rkebell(int); void sj3_rkclear(); void sj3_rkreset(); void sj3_rkconvc(wchar16_t, u_int *); int sj3_rkconv2(wchar16_t *, u_int *, int); int sj3_rkconv(u_char *, u_char *); int sj3_rkconv_euc(u_char *, u_char *); int sj3_rkconv_mb(u_char *, u_char *); int sj3_rkconv_w16(wchar16_t *, wchar16_t *); int rkmatch(wchar16_t *, wchar16_t *, int); /* sj3_rkcv.h */ #ifdef ADDHK void setl_hktozh(); #endif void mkkigou(); int sj_addten(u_short, u_short); int sj_han2zen(u_short); int sj3_hantozen_euc(u_char *, u_char *); int sj3_hantozen_mb(u_char *, u_char *); int sj3_hantozen_w16(wchar16_t *, wchar16_t *); int sj_hantozen(wchar16_t *, wchar16_t *, int); int sj_zen2han(u_short); int sj3_zentohan(u_char *, u_char *); int sj3_zentohan_euc(u_char *, u_char *); int sj3_zentohan_mb(u_char *, u_char *); int sj3_zentohan_w16(wchar16_t *, wchar16_t *); int sj_zentohan(wchar16_t *, wchar16_t *, int); int sj_tokata(wchar16_t); int sj_tohira(wchar16_t); int sj_htok(wchar16_t *, wchar16_t *); int sj_ktoh(wchar16_t *, wchar16_t *); /* wc16_str.c */ int sj3_iswcntrl16(wchar16_t); int sj3_iswupper16(wchar16_t); int sj3_iswdigit16(wchar16_t); int sj3_iswxdigit16(wchar16_t); int sj3_wslen16(wchar16_t *); int sj3_wscmp16(wchar16_t *, wchar16_t *); int sj3_wsncmp16(wchar16_t *, wchar16_t *, int); wchar16_t *sj3_wscpy16(wchar16_t *, wchar16_t *); wchar16_t *sj3_wsncpy16(wchar16_t *, wchar16_t *, int); wchar16_t *sj3_wscat16(wchar16_t *, wchar16_t *); wchar16_t sj3_euc2wc16(unsigned int); wchar16_t sj3_sjis2wc16(unsigned int); unsigned int sj3_wc2euc16(wchar16_t); unsigned int sj3_wc2sjis16(wchar16_t); int sj3_wcs2eucs16(unsigned char *, wchar16_t *, int); int sj3_wcs2sjiss16(unsigned char *, wchar16_t *, int); int sj3_eucs2wcs16(wchar16_t *, unsigned char *, int); int sj3_sjiss2wcs16(wchar16_t *, unsigned char *, int); int sj3_mbstowcs16(wchar16_t *, unsigned char *, int); int sj3_wcstombs16(unsigned char *, unsigned char *, int); /* XXX */ extern int current_locale; #endif