diff Wnn/uum/sheader.h @ 0:bbc77ca4def5

initial import
author Yoshiki Yazawa <yaz@cc.rim.or.jp>
date Thu, 13 Dec 2007 04:30:14 +0900
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Wnn/uum/sheader.h	Thu Dec 13 04:30:14 2007 +0900
@@ -0,0 +1,481 @@
+/*
+ *  $Id: sheader.h,v 1.15 2006/06/18 16:49:41 aonoto Exp $
+ */
+
+/*
+ * FreeWnn is a network-extensible Kana-to-Kanji conversion system.
+ * This file is part of FreeWnn.
+ * 
+ * Copyright Kyoto University Research Institute for Mathematical Sciences
+ *                 1987, 1988, 1989, 1990, 1991, 1992
+ * Copyright OMRON Corporation. 1987, 1988, 1989, 1990, 1991, 1992, 1999
+ * Copyright ASTEC, Inc. 1987, 1988, 1989, 1990, 1991, 1992
+ * Copyright FreeWnn Project 1999, 2000, 2002, 2003, 2006
+ *
+ * Maintainer:  FreeWnn Project
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+/**************************
+ * header of standard i/o 
+ **************************/
+
+#include "jslib.h"
+#include "wnn_os.h"
+
+typedef struct _WnnEnv
+{
+  char *host_name;              /* server name */
+  struct wnn_env *env;          /* env */
+  int sticky;                   /* sticky bit */
+  char *envrc_name;             /* envrc name */
+  char env_name_str[32];        /* env name */
+  struct _WnnEnv *next;
+}
+WnnEnv;
+
+typedef struct _FunctionTable
+{
+/* functions depends on lang */
+  int (*print_out_function) ();
+  int (*input_function) ();
+  int (*call_t_redraw_move_function) ();
+  int (*call_t_redraw_move_1_function) ();
+  int (*call_t_redraw_move_2_function) ();
+  int (*call_t_print_l_function) ();
+  int (*redraw_when_chmsig_function) ();
+  int (*char_len_function) ();
+  int (*char_q_len_function) ();
+  int (*t_redraw_move_function) ();
+  int (*t_print_l_function) ();
+  int (*c_top_function) ();
+  int (*c_end_function) ();
+  int (*c_end_nobi_function) ();
+  int (*call_redraw_line_function) ();
+  int (*hani_settei_function) ();
+  void (*errorkeyin_function) ();
+  int (*call_jl_yomi_len_function) ();
+}
+FunctionTable;
+
+typedef struct _FuncDadaBase
+{
+  char *lang;
+  FunctionTable f_table;
+  short tty_code, pty_code, internal_code, file_code;
+  int (*code_trans[16]) ();
+  char *ostr;
+  char *getoptstr;
+  int (*do_opt[6]) ();
+}
+FuncDataBase;
+
+
+extern int not_redraw;          /* c_b->bufferを用いていない時(エラーメッセージを
+                                   表示しているなど)に、リドローがかかってもリドローしないためのフラグ */
+extern int maxchg;              /*一度に変換できる文字数 */
+
+extern int maxlength;           /* 画面の横幅を表す */
+extern w_char *input_buffer;    /* 画面制御に使うバッファ */
+
+extern struct wnn_buf *bun_data_;
+
+extern WnnEnv *normal_env;
+extern WnnEnv *reverse_env;
+extern WnnEnv *cur_normal_env;
+extern WnnEnv *cur_reverse_env;
+
+extern int cur_bnst_;           /* current bunsetsu pointer */
+
+/*extern  int   b_suu_;         *//* hold bunsetsu suu */
+                                /* Use jl_bun_suu(bun_data_) */
+
+extern char romkan_clear_tbl[TBL_CNT][TBL_SIZE];
+extern int (*main_table[TBL_CNT][TBL_SIZE]) (); /* holding commands */
+
+/*  extern w_char *p_holder; *//* points the end of data in buffer. */
+
+extern w_char *knj_buffer;      /* 辞書ユーティリティー使用時の漢字バッファ */
+
+
+extern int crow;
+        /* holding row where i/f uses to display kanji line */
+
+extern w_char *return_buf;
+        /* 確定した漢字かな混じり文を返すためのバッファ */
+
+
+extern char Term_Name[];
+
+extern int rubout_code;         /* rubout に使われるコードを保持する */
+extern int kk_on;               /* 仮名漢字変換可能モードか否かを示すフラグ */
+extern int quote_code;
+extern int quote_flag;
+
+extern int max_history;
+extern w_char jishopath[];
+extern w_char hindopath[];
+extern w_char fuzokugopath[];
+
+
+extern short tty_c_flag;
+extern short pty_c_flag;
+
+extern int cursor_invisible_fun;        /* flag that cursor_invisible is in the termcap entry */
+extern int keypad_fun;          /* flag that keypad is in the termcap entry */
+extern int send_ascii_char;     /* flag that if send ascii characters when the buffer is empty */
+extern int excellent_delete;
+extern int convkey_on;
+
+#define LANGDIRLEN 32
+extern char lang_dir[];
+
+extern char uumkey_name_in_uumrc[];
+extern char convkey_name_in_uumrc[];
+extern char rkfile_name_in_uumrc[];
+extern short defined_by_option;
+
+extern int conv_lines;
+extern int flow_control;
+extern int henkan_off_flag;     /* 立ち上げ時に変換をon/offにした状態にします */
+extern int henkan_on_kuten;     /* 句点入力で変換する/しない */
+
+extern char def_servername[];   /* V3.0 */
+extern char def_reverse_servername[];
+extern char username[];         /* V3.0 */
+extern char user_dic_dir[];     /* V3.0 */
+
+extern int remove_cs_from_termcap;
+
+extern int disp_mode_length;    /* V3.0 Alternate for MHL */
+
+
+extern int kanji_buf_size;
+extern int maxbunsetsu;
+extern int max_ichiran_kosu;
+
+/*
+#define MAXKUGIRI 32
+extern w_char kugiri_str[];
+*/
+
+extern WNN_DIC_INFO *dicinfo;
+extern int dic_list_size;
+
+extern int touroku_comment;
+
+extern short internal_code;
+extern short file_code;
+
+extern int (**code_trans) ();
+
+extern struct msg_cat *cd;
+
+extern FuncDataBase *lang_db;
+
+extern FunctionTable *f_table;
+
+extern FuncDataBase function_db[];
+
+extern int (*default_code_trans[]) ();
+
+/* ============================================================
+ *   extern function prototypes
+ * ============================================================ */
+#include "rk_spclval.h"
+#include "rk_fundecl.h"
+#include "wnn_string.h"
+
+/* jhlp.c */
+extern void uum_err (char *);
+#if !(HAVE_SETENV)
+  extern int setenv();
+#endif
+
+/* printf.c */
+extern void FPRINTF ();
+extern void PRINTF ();
+
+/* setutmp.c */
+extern int saveutmp (void);
+extern int resetutmp (int ttyFd);
+extern int setutmp (int ttyFd);
+
+/* ttyfdslot.c */
+extern int  ttyfdslot (int fd);
+
+/* to be classified */
+extern void b_s_off_raw (void);
+extern void b_s_on_raw (void);
+extern int backward (void);
+extern int buffer_in (void);
+extern int change_ascii_to_int (char*, int*);
+extern void change_to_empty_mode (void);
+extern void change_to_insert_mode (void);
+extern void clr_end_screen ();
+extern void clr_line ();
+extern void clr_line_all ();
+extern int connect_jserver (int);
+extern int convert_getterm ();
+extern int convert_key_setup ();
+extern int cur_ichi (int, int);
+extern void cursor_invisible_raw (void);
+extern void cursor_normal_raw (void);
+extern int dai_end (struct wnn_buf *, int);
+extern int dai_top (struct wnn_buf *, int);
+extern int dic_nickname (int, char*);
+extern int disconnect_jserver (void);
+extern int disp_mode (void);
+extern void display_henkan_off_mode (void);
+extern int empty_modep (void);
+extern void epilogue (void);
+extern void epilogue_no_close (void);
+extern void errorkeyin (void);
+extern int eu_columlen (unsigned char *);
+extern int expand_argument (char *);
+extern int expand_expr (char *);
+extern void fill (char *, int);
+extern int find_dic_by_no (int);
+extern int find_end_of_tango (int);
+extern int find_entry (char *);
+extern void flushw_buf (void);
+extern int forward_char (void);
+extern int backward_char (void);
+extern int getTermData ();
+extern void get_end_of_history ();
+extern void getfname ();
+extern void h_r_off ();
+extern void h_r_off_raw ();
+extern void h_r_on ();
+extern void h_r_on_raw ();
+extern int henkan_gop ();
+extern void henkan_if_maru ();
+extern int henkan_off ();
+extern int hextodec ();
+extern int hinsi_in ();
+extern int init_history ();
+extern int init_key_table ();
+extern void init_screen ();
+extern int init_uum ();
+extern int initial_message_out ();
+extern void initialize_vars ();
+extern int input_a_char_from_function ();
+extern int insert_char ();
+extern int insert_char_and_change_to_insert_mode ();
+extern int insert_modep ();
+extern int j_term_init ();
+extern int flush_designate ();
+extern int jtosj ();
+extern int jutil ();
+extern int kakutei ();
+extern int kana_in ();
+extern int kana_in_w_char_msg ();
+extern int keyin1 ();
+extern int kk ();
+extern void kk_cursor_invisible ();
+extern void kk_cursor_normal ();
+extern void kk_restore_cursor ();
+extern void kk_save_cursor ();
+extern int make_history ();
+extern int make_info_out ();
+extern int make_jikouho_retu ();
+extern void make_kanji_buffer ();
+extern int make_string_for_ke ();
+extern int next_history1 ();
+extern int nobasi_tijimi_mode ();
+extern int nobi_conv ();
+extern void pop_cursor ();
+extern void pop_hrus ();
+extern int previous_history1 ();
+extern void print_buf_msg ();
+extern void reset_cursor ();
+extern void push_cursor ();
+extern void push_hrus ();
+extern void putchar1 ();
+extern void putchar_norm ();
+extern void puteustring ();
+extern int reconnect_jserver_body ();
+extern int redraw_line ();
+extern int redraw_nisemono ();
+extern void remove_key_bind ();
+extern int isconect_jserver ();
+extern int ren_henkan0 ();
+extern void reset_bold ();
+extern void reset_cursor_status ();
+extern void restore_cursor_raw ();
+extern void ring_bell ();
+extern void save_cursor_raw ();
+extern void scroll_up ();
+extern int select_jikouho1 ();
+extern int select_line_element ();
+extern int select_one_dict1 ();
+extern int select_one_element ();
+extern int set_TERMCAP ();
+extern void set_bold ();
+extern void set_cursor_status ();
+extern void set_escape_code ();
+extern void set_hanten_ul ();
+extern void set_lc_offset ();
+extern void set_screen_vars_default ();
+extern void set_keypad_on ();
+extern void set_keypad_off ();
+extern void set_scroll_region ();
+extern int st_colum ();
+extern void t_cont_line_note_delete ();
+extern int t_delete_char ();
+extern int t_kill ();
+extern int t_move ();
+extern int t_print_l ();
+extern void t_print_line ();
+extern int t_redraw_move ();
+extern int t_rubout ();
+extern void t_throw ();
+extern int t_yank ();
+extern int tan_conv ();
+extern int tan_henkan1 ();
+extern void throw_col ();
+extern void throw_cur_raw ();
+extern void touroku ();
+extern void u_s_off ();
+extern void u_s_off_raw ();
+extern void u_s_on ();
+extern void u_s_on_raw ();
+extern int update_dic_list ();
+extern int uumrc_get_entries ();
+extern void w_printf ();
+extern int w_putchar ();
+extern void w_sttost ();
+extern int wchartochar ();
+extern int yes_or_no ();
+extern int yes_or_no_or_newline ();
+extern int zenkouho_dai_c ();
+extern void find_yomi_for_kanji ();
+extern int check_vst ();
+extern void t_redraw_one_line ();
+extern void throw ();
+extern int keyin ();
+extern int push_unget_buf ();
+extern unsigned int *get_unget_buf ();
+extern int if_unget_buf ();
+
+extern int set_cur_env ();
+extern char env_state ();
+extern void get_new_env ();
+
+extern int call_t_redraw_move_normal ();
+extern int call_t_redraw_move ();
+extern int call_t_redraw_move_1_normal ();
+extern int call_t_redraw_move_1 ();
+extern int call_t_redraw_move_2_normal ();
+extern int call_t_redraw_move_2 ();
+extern int call_t_print_l_normal ();
+extern int call_t_print_l ();
+extern int c_top_normal ();
+extern int c_end_normal ();
+extern int c_end_nobi_normal ();
+extern int char_q_len_normal ();
+extern int char_len_normal ();
+extern int t_redraw_move_normal ();
+extern int t_print_l_normal ();
+extern int call_redraw_line_normal ();
+extern int call_redraw_line ();
+extern int hani_settei_normal ();
+extern void call_errorkeyin ();
+extern int call_jl_yomi_len ();
+extern int through ();
+extern int sStrcpy ();
+extern int Sstrcpy ();
+extern char *sStrncpy ();
+extern w_char *Strcat ();
+extern w_char *Strncat ();
+extern int Strncmp ();
+extern w_char *Strcpy ();
+extern w_char *Strncpy ();
+extern int Strlen ();
+extern void conv_ltr_to_ieuc ();
+extern int get_cswidth_by_char ();
+extern int eeuc_to_ieuc ();
+extern int conv_keyin ();
+
+#ifdef  JAPANESE
+extern int eujis_to_iujis ();
+extern int jis_to_iujis ();
+extern int sjis_to_iujis ();
+extern int iujis_to_eujis ();
+extern int jis_to_eujis ();
+extern int sjis_to_eujis ();
+extern int iujis_to_jis8 ();
+extern int eujis_to_jis8 ();
+extern int sjis_to_jis8 ();
+extern int iujis_to_sjis ();
+extern int eujis_to_sjis ();
+extern int jis_to_sjis ();
+extern int do_u_opt ();
+extern int do_j_opt ();
+extern int do_s_opt ();
+extern int do_U_opt ();
+extern int do_J_opt ();
+extern int do_S_opt ();
+#endif /* JAPANESE */
+
+#ifdef CHINESE
+extern int call_t_redraw_move_yincod ();
+extern int call_t_redraw_move_1_yincod ();
+extern int call_t_redraw_move_2_yincod ();
+extern int call_t_print_l_yincod ();
+extern int input_yincod ();
+extern int redraw_when_chmsig_yincod ();
+extern int c_top_yincod ();
+extern int c_end_yincod ();
+extern int c_end_nobi_yincod ();
+extern int print_out_yincod ();
+extern int char_q_len_yincod ();
+extern int char_len_yincod ();
+extern int t_redraw_move_yincod ();
+extern int t_print_l_yincod ();
+extern int call_redraw_line_yincod ();
+extern int hani_settei_yincod ();
+extern void errorkeyin_q ();
+extern int not_call_jl_yomi_len ();
+extern int cwnn_pzy_yincod ();
+extern int cwnn_yincod_pzy_str ();
+
+extern int icns_to_ecns ();
+extern int icns_to_big5 ();
+extern int ecns_to_icns ();
+extern int ecns_to_big5 ();
+extern int big5_to_icns ();
+extern int big5_to_ecns ();
+extern int iugb_to_eugb ();
+extern int eugb_to_iugb ();
+extern int do_b_opt ();
+extern int do_t_opt ();
+extern int do_B_opt ();
+extern int do_T_opt ();
+#endif /* CHINESE */
+
+#ifdef  KOREAN
+extern int iuksc_to_ksc ();
+extern int euksc_to_ksc ();
+extern int iuksc_to_euksc ();
+extern int ksc_to_euksc ();
+extern int ksc_to_iuksc ();
+extern int euksc_to_iuksc ();
+extern int do_u_opt ();
+extern int do_U_opt ();
+#endif /* KOREAN */
+
+extern void romkan_set_lang ();