ed.decls.h revision 195609
159243Sobrien/* $Header: /p/tcsh/cvsroot/tcsh/ed.decls.h,v 3.45 2008/10/17 20:25:00 christos Exp $ */
259243Sobrien/*
359243Sobrien * ed.decls.h: Editor external definitions
459243Sobrien */
559243Sobrien/*-
659243Sobrien * Copyright (c) 1980, 1991 The Regents of the University of California.
759243Sobrien * All rights reserved.
859243Sobrien *
959243Sobrien * Redistribution and use in source and binary forms, with or without
1059243Sobrien * modification, are permitted provided that the following conditions
1159243Sobrien * are met:
1259243Sobrien * 1. Redistributions of source code must retain the above copyright
1359243Sobrien *    notice, this list of conditions and the following disclaimer.
1459243Sobrien * 2. Redistributions in binary form must reproduce the above copyright
1559243Sobrien *    notice, this list of conditions and the following disclaimer in the
1659243Sobrien *    documentation and/or other materials provided with the distribution.
1759243Sobrien * 3. Neither the name of the University nor the names of its contributors
1859243Sobrien *    may be used to endorse or promote products derived from this software
1959243Sobrien *    without specific prior written permission.
2059243Sobrien *
2159243Sobrien * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
2259243Sobrien * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
2359243Sobrien * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
2459243Sobrien * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
2559243Sobrien * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
2659243Sobrien * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
2759243Sobrien * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
2859243Sobrien * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
2959243Sobrien * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
3059243Sobrien * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
3159243Sobrien * SUCH DAMAGE.
3259243Sobrien */
3359243Sobrien#ifndef _h_ed_decls
3459243Sobrien#define _h_ed_decls
3559243Sobrien
3659243Sobrien/*
3759243Sobrien * ed.chared.c
3859243Sobrien */
3959243Sobrienextern	int	InsertStr		(Char *);
4059243Sobrienextern	int	ExpandHistory		(void);
4159243Sobrienextern	void	DeleteBack		(int);
4259243Sobrienextern	void	SetKillRing		(int);
4359243Sobrienextern	CCRETVAL GetHistLine		(void);
4459243Sobrien
4559243Sobrien/*
4659243Sobrien * ed.init.c
4759243Sobrien */
4859243Sobrien#ifdef SIG_WINDOW
4959243Sobrienextern	void	check_window_size	(int);
5059243Sobrienextern	void	window_change		(int);
5159243Sobrien#endif /* SIG_WINDOW */
5259243Sobrienextern	int	ed_Setup		(int);
5359243Sobrienextern	void	ed_Init			(void);
5459243Sobrienextern	int	Cookedmode		(void);
5559243Sobrienextern	int	Rawmode			(void);
5659243Sobrienextern	void	ed_set_tty_eight_bit	(void);
5759243Sobrien
5859243Sobrienextern	void	QuoteModeOn		(void);
5959243Sobrienextern	void	QuoteModeOff		(void);
6059243Sobrienextern	void	ResetInLine		(int);
6159243Sobrienextern	int	Load_input_line		(void);
6259243Sobrien
6359243Sobrien/*
6459243Sobrien * ed.term.c:
6559243Sobrien */
6659243Sobrienextern	void	dosetty			(Char **, struct command *);
6759243Sobrienextern	int	tty_getty 		(int, ttydata_t *);
6859243Sobrienextern	int	tty_setty 		(int, ttydata_t *);
6959243Sobrienextern	void	tty_getchar 		(ttydata_t *, unsigned char *);
7059243Sobrienextern	void	tty_setchar 		(ttydata_t *, unsigned char *);
7159243Sobrienextern	speed_t	tty_getspeed 		(ttydata_t *);
7259243Sobrienextern	int	tty_gettabs 		(ttydata_t *);
7359243Sobrienextern	int	tty_geteightbit		(ttydata_t *);
7459243Sobrienextern	int	tty_cooked_mode		(ttydata_t *);
7559243Sobrien#ifdef _IBMR2
7659243Sobrienextern	void	tty_setdisc		(int, int);
7759243Sobrien#endif /* _IBMR2 */
7859243Sobrien
7959243Sobrien/*
8059243Sobrien * ed.screen.c
8159243Sobrien */
8259243Sobrienextern	void	terminit		(void);
8359243Sobrienextern	void	SetAttributes		(Char);
8459243Sobrienextern	void	so_write		(Char *, int);
8559243Sobrienextern	void	ClearScreen		(void);
8659243Sobrienextern	void	MoveToLine		(int);
8759243Sobrienextern	void	MoveToChar		(int);
8859243Sobrienextern	void	ClearEOL		(int);
8959243Sobrienextern	void	Insert_write		(Char *, int);
9059243Sobrienextern	void	DeleteChars		(int);
9159243Sobrienextern	void	TellTC			(void);
9259243Sobrienextern	void	SetTC			(char *, char *);
9359243Sobrienextern	void	EchoTC			(Char **);
9459243Sobrienextern	int 	SetArrowKeys		(const CStr *, XmapVal *, int);
9559243Sobrienextern	int 	IsArrowKey		(Char *);
9659243Sobrienextern	void	ResetArrowKeys		(void);
9759243Sobrienextern	void	DefaultArrowKeys	(void);
9859243Sobrienextern	int 	ClearArrowKeys		(const CStr *);
9959243Sobrienextern	void 	PrintArrowKeys		(const CStr *);
10059243Sobrienextern	void	BindArrowKeys		(void);
10159243Sobrienextern	void	SoundBeep		(void);
10259243Sobrienextern	int	CanWeTab		(void);
10359243Sobrienextern	void	ChangeSize		(int, int);
10459243Sobrien#ifdef SIG_WINDOW
10559243Sobrienextern	int	GetSize			(int *, int *);
10659243Sobrien#endif /* SIG_WINDOW */
10759243Sobrienextern	void	ClearToBottom		(void);
10859243Sobrienextern	void	GetTermCaps		(void);
10959243Sobrienextern	void	StartHighlight		(void);
11059243Sobrienextern	void	StopHighlight		(void);
11159243Sobrien
11259243Sobrien/*
11359243Sobrien * ed.defns.c
11459243Sobrien */
11559243Sobrienextern	void	editinit		(void);
11659243Sobrienextern	void	ed_InitNLSMaps		(void);
11759243Sobrien#ifdef DEBUG_EDIT
11859243Sobrienextern	void	CheckMaps		(void);
11959243Sobrien#endif
12059243Sobrienextern	void	ed_InitMaps		(void);
12159243Sobrienextern	void	ed_InitEmacsMaps	(void);
12259243Sobrienextern	void	ed_InitVIMaps		(void);
12359243Sobrien
12459243Sobrienextern  CCRETVAL	e_unassigned		(Char);
12559243Sobrienextern	CCRETVAL	e_insert		(Char);
12659243Sobrienextern	CCRETVAL	e_newline		(Char);
12759243Sobrienextern	CCRETVAL	e_delprev		(Char);
12859243Sobrienextern	CCRETVAL	e_delnext		(Char);
12959243Sobrien/* added by mtk@ari.ncl.omron.co.jp (920818) */
13059243Sobrienextern	CCRETVAL	e_delnext_eof		(Char);
13159243Sobrienextern	CCRETVAL	e_delnext_list		(Char);
13259243Sobrienextern	CCRETVAL	e_delnext_list_eof	(Char);	/* for ^D */
13359243Sobrienextern	CCRETVAL	e_toend			(Char);
13459243Sobrienextern	CCRETVAL	e_tobeg			(Char);
13559243Sobrienextern	CCRETVAL	e_charback		(Char);
13659243Sobrienextern	CCRETVAL	e_charfwd		(Char);
13759243Sobrienextern	CCRETVAL	e_quote			(Char);
13859243Sobrienextern	CCRETVAL	e_startover		(Char);
13959243Sobrienextern	CCRETVAL	e_redisp		(Char);
14059243Sobrienextern	CCRETVAL	e_wordback		(Char);
14159243Sobrienextern	CCRETVAL	e_wordfwd		(Char);
14259243Sobrienextern	CCRETVAL	v_wordbegnext		(Char);
14359243Sobrienextern	CCRETVAL	e_uppercase		(Char);
14459243Sobrienextern	CCRETVAL	e_lowercase		(Char);
14559243Sobrienextern	CCRETVAL	e_capitolcase		(Char);
14659243Sobrienextern	CCRETVAL	e_cleardisp		(Char);
14759243Sobrienextern	CCRETVAL	e_complete		(Char);
14859243Sobrienextern	CCRETVAL	e_correct		(Char);
14959243Sobrienextern	CCRETVAL	e_correctl		(Char);
15059243Sobrienextern	CCRETVAL	e_up_hist		(Char);
15159243Sobrienextern	CCRETVAL	e_down_hist		(Char);
15259243Sobrienextern	CCRETVAL	e_up_search_hist	(Char);
15359243Sobrienextern	CCRETVAL	e_down_search_hist	(Char);
15459243Sobrienextern	CCRETVAL	e_helpme		(Char);
15559243Sobrienextern	CCRETVAL	e_list_choices		(Char);
15659243Sobrienextern	CCRETVAL	e_delwordprev		(Char);
15759243Sobrienextern	CCRETVAL	e_delwordnext		(Char);
15859243Sobrienextern	CCRETVAL	e_digit			(Char);
15959243Sobrienextern	CCRETVAL	e_argdigit		(Char);
16059243Sobrienextern	CCRETVAL	v_zero			(Char);
16159243Sobrienextern	CCRETVAL	e_killend		(Char);
16259243Sobrienextern	CCRETVAL	e_killbeg		(Char);
16359243Sobrienextern	CCRETVAL	e_metanext		(Char);
16459243Sobrien#ifdef notdef
16559243Sobrienextern	CCRETVAL	e_extendnext		(Char);
16659243Sobrien#endif
16759243Sobrienextern	CCRETVAL	e_send_eof		(Char);
16859243Sobrienextern	CCRETVAL	e_charswitch		(Char);
16959243Sobrienextern	CCRETVAL	e_gcharswitch		(Char);
17059243Sobrienextern	CCRETVAL	e_which			(Char);
17159243Sobrienextern	CCRETVAL	e_yank_kill		(Char);
17259243Sobrienextern	CCRETVAL	e_tty_dsusp		(Char);
17359243Sobrienextern	CCRETVAL	e_tty_flusho		(Char);
17459243Sobrienextern	CCRETVAL	e_tty_quit		(Char);
17559243Sobrienextern	CCRETVAL	e_tty_tsusp		(Char);
17659243Sobrienextern	CCRETVAL	e_tty_stopo		(Char);
17759243Sobrienextern	CCRETVAL	e_tty_starto		(Char);
17859243Sobrienextern	CCRETVAL	e_argfour		(Char);
17959243Sobrienextern	CCRETVAL	e_set_mark		(Char);
18059243Sobrienextern	CCRETVAL	e_exchange_mark		(Char);
18159243Sobrienextern	CCRETVAL	e_last_item		(Char);
18259243Sobrienextern	CCRETVAL	v_cmd_mode		(Char);
18359243Sobrienextern	CCRETVAL	v_insert		(Char);
18459243Sobrienextern	CCRETVAL	v_replmode		(Char);
18559243Sobrienextern	CCRETVAL	v_replone		(Char);
18659243Sobrienextern	CCRETVAL	v_substline		(Char);
18759243Sobrienextern	CCRETVAL	v_substchar		(Char);
18859243Sobrienextern	CCRETVAL	v_add			(Char);
18959243Sobrienextern	CCRETVAL	v_addend		(Char);
19059243Sobrienextern	CCRETVAL	v_insbeg		(Char);
19159243Sobrienextern	CCRETVAL	v_chgtoend		(Char);
19259243Sobrienextern	CCRETVAL	e_killregion		(Char);
19359243Sobrienextern	CCRETVAL	e_killall		(Char);
19459243Sobrienextern	CCRETVAL	e_copyregion		(Char);
19559243Sobrienextern	CCRETVAL	e_tty_int		(Char);
19659243Sobrienextern	CCRETVAL	e_run_fg_editor		(Char);
19759243Sobrienextern	CCRETVAL	e_list_eof		(Char);
19859243Sobrienextern	int     	e_expand_history_rne	(Char);
19959243Sobrienextern	CCRETVAL	e_expand_history	(Char);
20059243Sobrienextern	CCRETVAL	e_magic_space		(Char);
20159243Sobrienextern	CCRETVAL	e_list_glob		(Char);
20259243Sobrienextern	CCRETVAL	e_expand_glob		(Char);
20359243Sobrienextern	CCRETVAL	e_insovr		(Char);
20459243Sobrienextern	CCRETVAL	v_cm_complete		(Char);
20559243Sobrienextern	CCRETVAL	e_copyprev		(Char);
20659243Sobrienextern	CCRETVAL	v_change_case		(Char);
20759243Sobrienextern	CCRETVAL	e_expand		(Char);
20859243Sobrienextern	CCRETVAL	e_expand_vars		(Char);
20959243Sobrienextern	CCRETVAL	e_toggle_hist		(Char);
21059243Sobrienextern  CCRETVAL        e_load_average		(Char);
21159243Sobrienextern  CCRETVAL        v_delprev		(Char);
21259243Sobrienextern  CCRETVAL        v_delmeta		(Char);
21359243Sobrienextern  CCRETVAL        v_wordfwd		(Char);
21459243Sobrienextern  CCRETVAL        v_wordback		(Char);
21559243Sobrienextern  CCRETVAL        v_endword		(Char);
21659243Sobrienextern  CCRETVAL        v_eword			(Char);
21759243Sobrienextern  CCRETVAL        v_undo			(Char);
21859243Sobrienextern  CCRETVAL        v_ush_meta		(Char);
21959243Sobrienextern  CCRETVAL        v_dsh_meta		(Char);
22059243Sobrienextern  CCRETVAL        v_rsrch_fwd		(Char);
22159243Sobrienextern  CCRETVAL        v_rsrch_back		(Char);
22259243Sobrienextern  CCRETVAL        v_char_fwd		(Char);
22359243Sobrienextern  CCRETVAL        v_char_back		(Char);
22459243Sobrienextern  CCRETVAL        v_chgmeta		(Char);
22559243Sobrienextern	CCRETVAL	e_inc_fwd		(Char);
22659243Sobrienextern	CCRETVAL	e_inc_back		(Char);
22759243Sobrienextern	CCRETVAL	v_rchar_fwd		(Char);
22859243Sobrienextern	CCRETVAL	v_rchar_back		(Char);
22959243Sobrienextern  CCRETVAL        v_charto_fwd		(Char);
23059243Sobrienextern  CCRETVAL        v_charto_back		(Char);
23159243Sobrienextern  CCRETVAL        e_normalize_path	(Char);
23259243Sobrienextern  CCRETVAL        e_normalize_command	(Char);
23359243Sobrienextern  CCRETVAL        e_stuff_char		(Char);
23459243Sobrienextern  CCRETVAL        e_list_all		(Char);
23559243Sobrienextern  CCRETVAL        e_complete_all		(Char);
23659243Sobrienextern  CCRETVAL        e_complete_fwd		(Char);
23759243Sobrienextern  CCRETVAL        e_complete_back		(Char);
23859243Sobrienextern  CCRETVAL        e_dabbrev_expand	(Char);
23959243Sobrienextern  CCRETVAL	e_copy_to_clipboard	(Char);
24059243Sobrienextern  CCRETVAL	e_paste_from_clipboard	(Char);
24159243Sobrienextern  CCRETVAL	e_dosify_next		(Char);
24259243Sobrienextern  CCRETVAL	e_dosify_prev		(Char);
24359243Sobrienextern  CCRETVAL	e_page_up		(Char);
24459243Sobrienextern  CCRETVAL	e_page_down		(Char);
24559243Sobrienextern  CCRETVAL	e_yank_pop		(Char);
24659243Sobrienextern  CCRETVAL	e_newline_hold		(Char);
24759243Sobrienextern  CCRETVAL	e_newline_down_hist	(Char);
24859243Sobrien
24959243Sobrien/*
25059243Sobrien * ed.inputl.c
25159243Sobrien */
25259243Sobrienextern	int	Inputl			(void);
25359243Sobrienextern	int	GetNextChar		(Char *);
25459243Sobrienextern	void    UngetNextChar		(Char);
25559243Sobrienextern	void	PushMacro		(Char *);
25659243Sobrien
25759243Sobrien/*
25859243Sobrien * ed.refresh.c
25959243Sobrien */
26059243Sobrienextern	void	ClearLines		(void);
26159243Sobrienextern	void	ClearDisp		(void);
26259243Sobrienextern	void	Refresh			(void);
26359243Sobrienextern	void	RefCursor		(void);
26459243Sobrienextern	void	RefPlusOne		(int);
26559243Sobrienextern	void	PastBottom		(void);
26659243Sobrien
26759243Sobrien/*
26859243Sobrien * ed.xmap.c
26959243Sobrien */
27059243Sobrienextern  XmapVal *XmapStr		(CStr *);
27159243Sobrienextern  XmapVal *XmapCmd		(int);
27259243Sobrienextern	void	 AddXkey		(const CStr *, XmapVal *, int);
27359243Sobrienextern	void	 ClearXkey		(KEYCMD *, const CStr *);
27459243Sobrienextern	int	 GetXkey		(CStr *, XmapVal *);
27559243Sobrienextern	void	 ResetXmap		(void);
27659243Sobrienextern	int	 DeleteXkey		(const CStr *);
27759243Sobrienextern	void	 PrintXkey		(const CStr *);
27859243Sobrienextern	void	 printOne		(const Char *, const XmapVal *, int);
27959243Sobrienextern	eChar		  parseescape	(const Char **);
28059243Sobrienextern	unsigned char    *unparsestring	(const CStr *, const Char *);
28159243Sobrien
28259243Sobrien#endif /* _h_ed_decls */
28359243Sobrien