159243Sobrien/*
259243Sobrien * ed.decls.h: Editor external definitions
359243Sobrien */
459243Sobrien/*-
559243Sobrien * Copyright (c) 1980, 1991 The Regents of the University of California.
659243Sobrien * All rights reserved.
759243Sobrien *
859243Sobrien * Redistribution and use in source and binary forms, with or without
959243Sobrien * modification, are permitted provided that the following conditions
1059243Sobrien * are met:
1159243Sobrien * 1. Redistributions of source code must retain the above copyright
1259243Sobrien *    notice, this list of conditions and the following disclaimer.
1359243Sobrien * 2. Redistributions in binary form must reproduce the above copyright
1459243Sobrien *    notice, this list of conditions and the following disclaimer in the
1559243Sobrien *    documentation and/or other materials provided with the distribution.
16100616Smp * 3. Neither the name of the University nor the names of its contributors
1759243Sobrien *    may be used to endorse or promote products derived from this software
1859243Sobrien *    without specific prior written permission.
1959243Sobrien *
2059243Sobrien * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
2159243Sobrien * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
2259243Sobrien * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
2359243Sobrien * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
2459243Sobrien * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
2559243Sobrien * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
2659243Sobrien * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
2759243Sobrien * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
2859243Sobrien * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
2959243Sobrien * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
3059243Sobrien * SUCH DAMAGE.
3159243Sobrien */
3259243Sobrien#ifndef _h_ed_decls
3359243Sobrien#define _h_ed_decls
3459243Sobrien
3559243Sobrien/*
3659243Sobrien * ed.chared.c
3759243Sobrien */
38167465Smpextern	int	InsertStr		(Char *);
39195609Smpextern	int	ExpandHistory		(void);
40167465Smpextern	void	DeleteBack		(int);
41167465Smpextern	void	SetKillRing		(int);
42167465Smpextern	CCRETVAL GetHistLine		(void);
4359243Sobrien
4459243Sobrien/*
4559243Sobrien * ed.init.c
4659243Sobrien */
4759243Sobrien#ifdef SIG_WINDOW
48167465Smpextern	void	check_window_size	(int);
49167465Smpextern	void	window_change		(int);
5059243Sobrien#endif /* SIG_WINDOW */
51167465Smpextern	int	ed_Setup		(int);
52167465Smpextern	void	ed_Init			(void);
53167465Smpextern	int	Cookedmode		(void);
54167465Smpextern	int	Rawmode			(void);
55167465Smpextern	void	ed_set_tty_eight_bit	(void);
5659243Sobrien
57167465Smpextern	void	QuoteModeOn		(void);
58167465Smpextern	void	QuoteModeOff		(void);
59167465Smpextern	void	ResetInLine		(int);
60167465Smpextern	int	Load_input_line		(void);
6159243Sobrien
6259243Sobrien/*
6359243Sobrien * ed.term.c:
6459243Sobrien */
65167465Smpextern	void	dosetty			(Char **, struct command *);
66167465Smpextern	int	tty_getty 		(int, ttydata_t *);
67167465Smpextern	int	tty_setty 		(int, ttydata_t *);
68167465Smpextern	void	tty_getchar 		(ttydata_t *, unsigned char *);
69167465Smpextern	void	tty_setchar 		(ttydata_t *, unsigned char *);
70167465Smpextern	speed_t	tty_getspeed 		(ttydata_t *);
71167465Smpextern	int	tty_gettabs 		(ttydata_t *);
72167465Smpextern	int	tty_geteightbit		(ttydata_t *);
73167465Smpextern	int	tty_cooked_mode		(ttydata_t *);
7459243Sobrien#ifdef _IBMR2
75167465Smpextern	void	tty_setdisc		(int, int);
7659243Sobrien#endif /* _IBMR2 */
7759243Sobrien
7859243Sobrien/*
7959243Sobrien * ed.screen.c
8059243Sobrien */
81167465Smpextern	void	terminit		(void);
82167465Smpextern	void	SetAttributes		(Char);
83167465Smpextern	void	so_write		(Char *, int);
84167465Smpextern	void	ClearScreen		(void);
85167465Smpextern	void	MoveToLine		(int);
86167465Smpextern	void	MoveToChar		(int);
87167465Smpextern	void	ClearEOL		(int);
88167465Smpextern	void	Insert_write		(Char *, int);
89167465Smpextern	void	DeleteChars		(int);
90167465Smpextern	void	TellTC			(void);
91167465Smpextern	void	SetTC			(char *, char *);
92167465Smpextern	void	EchoTC			(Char **);
93167465Smpextern	int 	SetArrowKeys		(const CStr *, XmapVal *, int);
94167465Smpextern	int 	IsArrowKey		(Char *);
95167465Smpextern	void	ResetArrowKeys		(void);
96167465Smpextern	void	DefaultArrowKeys	(void);
97167465Smpextern	int 	ClearArrowKeys		(const CStr *);
98167465Smpextern	void 	PrintArrowKeys		(const CStr *);
99167465Smpextern	void	BindArrowKeys		(void);
100167465Smpextern	void	SoundBeep		(void);
101167465Smpextern	int	CanWeTab		(void);
102167465Smpextern	void	ChangeSize		(int, int);
10359243Sobrien#ifdef SIG_WINDOW
104167465Smpextern	int	GetSize			(int *, int *);
10559243Sobrien#endif /* SIG_WINDOW */
106167465Smpextern	void	ClearToBottom		(void);
107167465Smpextern	void	GetTermCaps		(void);
108167465Smpextern	void	StartHighlight		(void);
109167465Smpextern	void	StopHighlight		(void);
11059243Sobrien
11159243Sobrien/*
11259243Sobrien * ed.defns.c
11359243Sobrien */
114167465Smpextern	void	editinit		(void);
115167465Smpextern	void	ed_InitNLSMaps		(void);
11659243Sobrien#ifdef DEBUG_EDIT
117167465Smpextern	void	CheckMaps		(void);
11859243Sobrien#endif
119167465Smpextern	void	ed_InitMaps		(void);
120167465Smpextern	void	ed_InitEmacsMaps	(void);
121167465Smpextern	void	ed_InitVIMaps		(void);
12259243Sobrien
123167465Smpextern  CCRETVAL	e_unassigned		(Char);
124167465Smpextern	CCRETVAL	e_insert		(Char);
125167465Smpextern	CCRETVAL	e_newline		(Char);
126167465Smpextern	CCRETVAL	e_delprev		(Char);
127167465Smpextern	CCRETVAL	e_delnext		(Char);
12859243Sobrien/* added by mtk@ari.ncl.omron.co.jp (920818) */
129167465Smpextern	CCRETVAL	e_delnext_eof		(Char);
130167465Smpextern	CCRETVAL	e_delnext_list		(Char);
131167465Smpextern	CCRETVAL	e_delnext_list_eof	(Char);	/* for ^D */
132167465Smpextern	CCRETVAL	e_toend			(Char);
133167465Smpextern	CCRETVAL	e_tobeg			(Char);
134167465Smpextern	CCRETVAL	e_charback		(Char);
135167465Smpextern	CCRETVAL	e_charfwd		(Char);
136167465Smpextern	CCRETVAL	e_quote			(Char);
137167465Smpextern	CCRETVAL	e_startover		(Char);
138167465Smpextern	CCRETVAL	e_redisp		(Char);
139167465Smpextern	CCRETVAL	e_wordback		(Char);
140167465Smpextern	CCRETVAL	e_wordfwd		(Char);
141167465Smpextern	CCRETVAL	v_wordbegnext		(Char);
142167465Smpextern	CCRETVAL	e_uppercase		(Char);
143167465Smpextern	CCRETVAL	e_lowercase		(Char);
144316957Sdchaginextern	CCRETVAL	e_capitalcase		(Char);
145167465Smpextern	CCRETVAL	e_cleardisp		(Char);
146167465Smpextern	CCRETVAL	e_complete		(Char);
147167465Smpextern	CCRETVAL	e_correct		(Char);
148167465Smpextern	CCRETVAL	e_correctl		(Char);
149167465Smpextern	CCRETVAL	e_up_hist		(Char);
150167465Smpextern	CCRETVAL	e_down_hist		(Char);
151167465Smpextern	CCRETVAL	e_up_search_hist	(Char);
152167465Smpextern	CCRETVAL	e_down_search_hist	(Char);
153167465Smpextern	CCRETVAL	e_helpme		(Char);
154167465Smpextern	CCRETVAL	e_list_choices		(Char);
155167465Smpextern	CCRETVAL	e_delwordprev		(Char);
156167465Smpextern	CCRETVAL	e_delwordnext		(Char);
157167465Smpextern	CCRETVAL	e_digit			(Char);
158167465Smpextern	CCRETVAL	e_argdigit		(Char);
159167465Smpextern	CCRETVAL	v_zero			(Char);
160167465Smpextern	CCRETVAL	e_killend		(Char);
161167465Smpextern	CCRETVAL	e_killbeg		(Char);
162167465Smpextern	CCRETVAL	e_metanext		(Char);
16359243Sobrien#ifdef notdef
164167465Smpextern	CCRETVAL	e_extendnext		(Char);
16559243Sobrien#endif
166167465Smpextern	CCRETVAL	e_send_eof		(Char);
167167465Smpextern	CCRETVAL	e_charswitch		(Char);
168167465Smpextern	CCRETVAL	e_gcharswitch		(Char);
169167465Smpextern	CCRETVAL	e_which			(Char);
170167465Smpextern	CCRETVAL	e_yank_kill		(Char);
171167465Smpextern	CCRETVAL	e_tty_dsusp		(Char);
172167465Smpextern	CCRETVAL	e_tty_flusho		(Char);
173167465Smpextern	CCRETVAL	e_tty_quit		(Char);
174167465Smpextern	CCRETVAL	e_tty_tsusp		(Char);
175167465Smpextern	CCRETVAL	e_tty_stopo		(Char);
176167465Smpextern	CCRETVAL	e_tty_starto		(Char);
177167465Smpextern	CCRETVAL	e_argfour		(Char);
178167465Smpextern	CCRETVAL	e_set_mark		(Char);
179167465Smpextern	CCRETVAL	e_exchange_mark		(Char);
180167465Smpextern	CCRETVAL	e_last_item		(Char);
181167465Smpextern	CCRETVAL	v_cmd_mode		(Char);
182167465Smpextern	CCRETVAL	v_insert		(Char);
183167465Smpextern	CCRETVAL	v_replmode		(Char);
184167465Smpextern	CCRETVAL	v_replone		(Char);
185167465Smpextern	CCRETVAL	v_substline		(Char);
186167465Smpextern	CCRETVAL	v_substchar		(Char);
187167465Smpextern	CCRETVAL	v_add			(Char);
188167465Smpextern	CCRETVAL	v_addend		(Char);
189167465Smpextern	CCRETVAL	v_insbeg		(Char);
190167465Smpextern	CCRETVAL	v_chgtoend		(Char);
191167465Smpextern	CCRETVAL	e_killregion		(Char);
192167465Smpextern	CCRETVAL	e_killall		(Char);
193167465Smpextern	CCRETVAL	e_copyregion		(Char);
194167465Smpextern	CCRETVAL	e_tty_int		(Char);
195167465Smpextern	CCRETVAL	e_run_fg_editor		(Char);
196167465Smpextern	CCRETVAL	e_list_eof		(Char);
197195609Smpextern	int     	e_expand_history_rne	(Char);
198167465Smpextern	CCRETVAL	e_expand_history	(Char);
199167465Smpextern	CCRETVAL	e_magic_space		(Char);
200167465Smpextern	CCRETVAL	e_list_glob		(Char);
201167465Smpextern	CCRETVAL	e_expand_glob		(Char);
202167465Smpextern	CCRETVAL	e_insovr		(Char);
203167465Smpextern	CCRETVAL	v_cm_complete		(Char);
204167465Smpextern	CCRETVAL	e_copyprev		(Char);
205167465Smpextern	CCRETVAL	v_change_case		(Char);
206167465Smpextern	CCRETVAL	e_expand		(Char);
207167465Smpextern	CCRETVAL	e_expand_vars		(Char);
208167465Smpextern	CCRETVAL	e_toggle_hist		(Char);
209167465Smpextern  CCRETVAL        e_load_average		(Char);
210167465Smpextern  CCRETVAL        v_delprev		(Char);
211167465Smpextern  CCRETVAL        v_delmeta		(Char);
212167465Smpextern  CCRETVAL        v_wordfwd		(Char);
213167465Smpextern  CCRETVAL        v_wordback		(Char);
214167465Smpextern  CCRETVAL        v_endword		(Char);
215167465Smpextern  CCRETVAL        v_eword			(Char);
216167465Smpextern  CCRETVAL        v_undo			(Char);
217167465Smpextern  CCRETVAL        v_ush_meta		(Char);
218167465Smpextern  CCRETVAL        v_dsh_meta		(Char);
219167465Smpextern  CCRETVAL        v_rsrch_fwd		(Char);
220167465Smpextern  CCRETVAL        v_rsrch_back		(Char);
221167465Smpextern  CCRETVAL        v_char_fwd		(Char);
222167465Smpextern  CCRETVAL        v_char_back		(Char);
223167465Smpextern  CCRETVAL        v_chgmeta		(Char);
224167465Smpextern	CCRETVAL	e_inc_fwd		(Char);
225167465Smpextern	CCRETVAL	e_inc_back		(Char);
226167465Smpextern	CCRETVAL	v_rchar_fwd		(Char);
227167465Smpextern	CCRETVAL	v_rchar_back		(Char);
228167465Smpextern  CCRETVAL        v_charto_fwd		(Char);
229167465Smpextern  CCRETVAL        v_charto_back		(Char);
230167465Smpextern  CCRETVAL        e_normalize_path	(Char);
231167465Smpextern  CCRETVAL        e_normalize_command	(Char);
232167465Smpextern  CCRETVAL        e_stuff_char		(Char);
233167465Smpextern  CCRETVAL        e_list_all		(Char);
234167465Smpextern  CCRETVAL        e_complete_all		(Char);
235167465Smpextern  CCRETVAL        e_complete_fwd		(Char);
236167465Smpextern  CCRETVAL        e_complete_back		(Char);
237167465Smpextern  CCRETVAL        e_dabbrev_expand	(Char);
238167465Smpextern  CCRETVAL	e_copy_to_clipboard	(Char);
239167465Smpextern  CCRETVAL	e_paste_from_clipboard	(Char);
240167465Smpextern  CCRETVAL	e_dosify_next		(Char);
241167465Smpextern  CCRETVAL	e_dosify_prev		(Char);
242167465Smpextern  CCRETVAL	e_page_up		(Char);
243167465Smpextern  CCRETVAL	e_page_down		(Char);
244167465Smpextern  CCRETVAL	e_yank_pop		(Char);
245167465Smpextern  CCRETVAL	e_newline_hold		(Char);
246167465Smpextern  CCRETVAL	e_newline_down_hist	(Char);
24759243Sobrien
24859243Sobrien/*
24959243Sobrien * ed.inputl.c
25059243Sobrien */
251167465Smpextern	int	Inputl			(void);
252354195Sbrooksextern	int	GetCmdChar		(Char);
253167465Smpextern	int	GetNextChar		(Char *);
254167465Smpextern	void    UngetNextChar		(Char);
255167465Smpextern	void	PushMacro		(Char *);
25659243Sobrien
25759243Sobrien/*
25859243Sobrien * ed.refresh.c
25959243Sobrien */
260167465Smpextern	void	ClearLines		(void);
261167465Smpextern	void	ClearDisp		(void);
262167465Smpextern	void	Refresh			(void);
263167465Smpextern	void	RefCursor		(void);
264167465Smpextern	void	RefPlusOne		(int);
265167465Smpextern	void	PastBottom		(void);
26659243Sobrien
26759243Sobrien/*
26859243Sobrien * ed.xmap.c
26959243Sobrien */
270167465Smpextern  XmapVal *XmapStr		(CStr *);
271167465Smpextern  XmapVal *XmapCmd		(int);
272167465Smpextern	void	 AddXkey		(const CStr *, XmapVal *, int);
273167465Smpextern	void	 ClearXkey		(KEYCMD *, const CStr *);
274167465Smpextern	int	 GetXkey		(CStr *, XmapVal *);
275167465Smpextern	void	 ResetXmap		(void);
276167465Smpextern	int	 DeleteXkey		(const CStr *);
277167465Smpextern	void	 PrintXkey		(const CStr *);
278167465Smpextern	void	 printOne		(const Char *, const XmapVal *, int);
279167465Smpextern	eChar		  parseescape	(const Char **);
280167465Smpextern	unsigned char    *unparsestring	(const CStr *, const Char *);
28159243Sobrien
28259243Sobrien#endif /* _h_ed_decls */
283