xref: /openbsd-src/bin/ksh/edit.h (revision f2da64fbbbf1b03f09f390ab01267c93dfd77c4c)
1 /*	$OpenBSD: edit.h,v 1.11 2016/01/26 17:39:31 mmcc Exp $	*/
2 
3 /* NAME:
4  *      edit.h - globals for edit modes
5  *
6  * DESCRIPTION:
7  *      This header defines various global edit objects.
8  *
9  * SEE ALSO:
10  *
11  *
12  * RCSid:
13  *      $From: edit.h,v 1.2 1994/05/19 18:32:40 michael Exp michael $
14  *
15  */
16 
17 #define	BEL		0x07
18 
19 /* tty driver characters we are interested in */
20 typedef struct {
21 	int erase;
22 	int kill;
23 	int werase;
24 	int intr;
25 	int quit;
26 	int eof;
27 } X_chars;
28 
29 extern X_chars edchars;
30 
31 /* x_cf_glob() flags */
32 #define XCF_COMMAND	BIT(0)	/* Do command completion */
33 #define XCF_FILE	BIT(1)	/* Do file completion */
34 #define XCF_FULLPATH	BIT(2)	/* command completion: store full path */
35 #define XCF_COMMAND_FILE (XCF_COMMAND|XCF_FILE)
36 
37 /* edit.c */
38 int	x_getc(void);
39 void	x_flush(void);
40 void	x_putc(int);
41 void	x_puts(const char *);
42 bool	x_mode(bool);
43 int	promptlen(const char *, const char **);
44 int	x_do_comment(char *, int, int *);
45 void	x_print_expansions(int, char *const *, int);
46 int	x_cf_glob(int, const char *, int, int, int *, int *, char ***, int *);
47 int	x_longest_prefix(int , char *const *);
48 int	x_basename(const char *, const char *);
49 void	x_free_words(int, char **);
50 int	x_escape(const char *, size_t, int (*)(const char *, size_t));
51 /* emacs.c */
52 int	x_emacs(char *, size_t);
53 void	x_init_emacs(void);
54 void	x_emacs_keys(X_chars *);
55 /* vi.c */
56 int	x_vi(char *, size_t);
57