1 /*
2  * input.h: header for input.c
3  *
4  * Written By Michael Sandrof
5  *
6  * Copyright(c) 1990
7  *
8  * See the COPYRIGHT file, or do a HELP IRCII COPYRIGHT
9  *
10  * @(#)$Id: input.h 3 2008-02-25 09:49:14Z keaston $
11  */
12 
13 #ifndef __input_h_
14 #define __input_h_
15 	char	input_pause (char *);
16 	void	BX_set_input (char *);
17 	void	BX_set_input_prompt (Window *, char *, int);
18 	char	*BX_get_input_prompt (void);
19 	char	*BX_get_input (void);
20 	void	BX_update_input (int);
21 	void	init_input (void);
22 	void	input_move_cursor (int);
23 	void	change_input_prompt (int);
24 	void	BX_cursor_to_input (void);
25 
26 /* keybinding functions */
27 	void 	backward_character 	(char, char *);
28 	void 	backward_history 	(char, char *);
29 	void 	clear_screen 		(char, char *);
30 	void	command_completion 	(char, char *);
31 	void 	forward_character	(char, char *);
32 	void 	forward_history 	(char, char *);
33 	void	highlight_off 		(char, char *);
34 	void	input_add_character 	(char, char *);
35 	void	input_backspace 	(char, char *);
36 	void	input_backward_word 	(char, char *);
37 	void	input_beginning_of_line (char, char *);
38 	void	new_input_beginning_of_line (char, char *);
39 	void	input_clear_line 	(char, char *);
40 	void	input_clear_to_bol 	(char, char *);
41 	void	input_clear_to_eol 	(char, char *);
42 	void	input_delete_character 	(char, char *);
43 	void	input_delete_next_word 	   (char, char *);
44 	void	input_delete_previous_word (char, char *);
45  	void	input_delete_to_previous_space (char, char *);
46 	void	input_end_of_line 	   (char, char *);
47 	void	input_forward_word 	   (char, char *);
48 	void	input_transpose_characters (char, char *);
49 	void	input_yank_cut_buffer 	   (char, char *);
50 	void	insert_bold 		(char, char *);
51 	void	insert_reverse 		(char, char *);
52 	void	insert_underline 	(char, char *);
53 	void	insert_blink		(char, char *);
54 	void	insert_altcharset	(char, char *);
55 	void 	meta1_char 		(char, char *);
56 	void 	meta2_char 		(char, char *);
57 	void 	meta3_char 		(char, char *);
58 	void 	meta4_char 		(char, char *);
59 	void 	meta5_char 		(char, char *);
60 	void 	meta6_char 		(char, char *);
61 	void 	meta7_char 		(char, char *);
62 	void 	meta8_char 		(char, char *);
63 	void 	meta9_char 		(char, char *);
64 	void 	meta10_char 		(char, char *);
65 	void 	meta11_char 		(char, char *);
66 	void 	meta12_char 		(char, char *);
67 	void 	meta13_char 		(char, char *);
68 	void 	meta14_char 		(char, char *);
69 	void 	meta15_char 		(char, char *);
70 	void 	meta16_char 		(char, char *);
71 	void 	meta17_char 		(char, char *);
72 	void 	meta18_char 		(char, char *);
73 	void 	meta19_char 		(char, char *);
74 	void 	meta20_char 		(char, char *);
75 	void 	meta21_char 		(char, char *);
76 	void 	meta22_char 		(char, char *);
77 	void 	meta23_char 		(char, char *);
78 	void 	meta24_char 		(char, char *);
79 	void 	meta25_char 		(char, char *);
80 	void 	meta26_char 		(char, char *);
81 	void 	meta27_char 		(char, char *);
82 	void 	meta28_char 		(char, char *);
83 	void 	meta29_char 		(char, char *);
84 	void 	meta30_char 		(char, char *);
85 	void 	meta31_char 		(char, char *);
86 	void 	meta32_char 		(char, char *);
87 	void 	meta33_char 		(char, char *);
88 	void 	meta34_char 		(char, char *);
89 	void 	meta35_char 		(char, char *);
90 	void 	meta36_char 		(char, char *);
91 	void 	meta37_char 		(char, char *);
92 	void 	meta38_char 		(char, char *);
93 	void 	meta39_char 		(char, char *);
94 
95 	void	refresh_inputline 	(char, char *);
96 	void 	send_line 		(char, char *);
97 	void 	toggle_insert_mode 	(char, char *);
98 	void	input_msgreply		(char, char *);
99 	void	input_autoreply		(char, char *);
100 
101 	void	input_msgreplyback	(char, char *);
102 	void	input_autoreplyback	(char, char *);
103 
104 	void	my_scrollback		(char, char *);
105 	void	my_scrollforward	(char, char *);
106 	void	my_scrollend		(char, char *);
107 
108 	void	wholeft			(char, char *);
109 	void	toggle_cloak		(char, char *);
110 	void	cdcc_plist		(char, char *);
111 	void	dcc_plist		(char, char *);
112 	void	channel_chops		(char, char *);
113 	void	channel_nonops		(char, char *);
114 	void	change_to_split		(char, char *);
115 	void	do_chelp		(char, char *);
116 	void	join_last_invite	(char, char *);
117 	void	dcc_ostats		(char, char *);
118 	void	window_swap1		(char, char *);
119 	void	window_swap2		(char, char *);
120 	void	window_swap3		(char, char *);
121 	void	window_swap4		(char, char *);
122 	void	window_swap5		(char, char *);
123 	void	window_swap6		(char, char *);
124 	void	window_swap7		(char, char *);
125 	void	window_swap8		(char, char *);
126 	void	window_swap9		(char, char *);
127 	void	window_swap10		(char, char *);
128 	void	w_help			(char, char *);
129 	void	cpu_saver_on		(char, char *);
130 	void	window_key_balance	(char, char *);
131 	void	window_grow_one		(char, char *);
132 	void	window_key_hide		(char, char *);
133 	void	window_key_kill		(char, char *);
134 	void	window_key_list		(char, char *);
135 	void	window_key_move		(char, char *);
136 	void	window_shrink_one	(char, char *);
137 	void	nick_completion		(char, char *);
138 	void	ignore_last_nick	(char, char *);
139 	void	input_unclear_screen	(char, char *);
140 	void	tab_completion		(char, char *);
141 
142 	Lastlog *get_input_hold		(Window *);
143 	Display *get_screen_hold	(Window *);
144 	NickTab *BX_getnextnick		(int, char *, char *, char *);
145 	char	*BX_getchannick		(char *, char *);
146 	NickList *BX_lookup_nickcompletion	(ChannelList *, char *);
147 	void	paste_to_input		(char, char *);
148 
149 enum completion {
150 	NO_COMPLETION,
151 	TABKEY_COMPLETION,
152 	NICK_COMPLETION,
153 	COM_COMPLETION,
154 	CHAN_COMPLETION,
155 	EXEC_COMPLETION,
156 	FILE_COMPLETION,
157 	DCC_COMPLETION,
158 	LOAD_COMPLETION,
159 	SERVER_COMPLETION,
160 	CDCC_COMPLETION
161 };
162 
163 	char	*get_completions	(enum completion, char *, int *, char **);
164 	int	BX_add_completion_type	(char *, int, enum completion);
165 
166 extern	NickTab *tabkey_array;
167 extern	NickTab *autoreply_array;
168 
169 
170 /* used by update_input */
171 #define NO_UPDATE 0
172 #define UPDATE_ALL 1
173 #define UPDATE_FROM_CURSOR 2
174 #define UPDATE_JUST_CURSOR 3
175 
176 #ifdef GUI
177 	void	wm_process(int param);
178 #endif
179 
180 #endif /* __input_h_ */
181