75 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /**	$MirBSD: edit.h,v 1.5 2004/10/28 11:53:41 tg Exp $ */
 | |
| /*	$OpenBSD: edit.h,v 1.3 1999/11/14 22:04:02 d Exp $	*/
 | |
| /*	$From: edit.h,v 1.2 1994/05/19 18:32:40 michael Exp michael $ */
 | |
| 
 | |
| #ifndef EDIT_H
 | |
| #define EDIT_H
 | |
| 
 | |
| /* some useful #defines */
 | |
| #ifdef EXTERN
 | |
| # define I__(i) = i
 | |
| #else
 | |
| # define I__(i)
 | |
| # define EXTERN extern
 | |
| # define EXTERN_DEFINED
 | |
| #endif
 | |
| 
 | |
| #define	BEL		0x07
 | |
| 
 | |
| /* tty driver characters we are interested in */
 | |
| typedef struct {
 | |
| 	int erase;
 | |
| 	int kill;
 | |
| 	int werase;
 | |
| 	int intr;
 | |
| 	int quit;
 | |
| 	int eof;
 | |
| } X_chars;
 | |
| 
 | |
| EXTERN X_chars edchars;
 | |
| 
 | |
| /* x_fc_glob() flags */
 | |
| #define XCF_COMMAND	BIT(0)	/* Do command completion */
 | |
| #define XCF_FILE	BIT(1)	/* Do file completion */
 | |
| #define XCF_FULLPATH	BIT(2)	/* command completion: store full path */
 | |
| #define XCF_COMMAND_FILE (XCF_COMMAND|XCF_FILE)
 | |
| 
 | |
| /* edit.c */
 | |
| int 	x_getc(void);
 | |
| void 	x_flush(void);
 | |
| void 	x_putc(int c);
 | |
| void 	x_puts(const char *s);
 | |
| bool_t 	x_mode(bool_t onoff);
 | |
| int 	promptlen(const char *cp, const char **spp);
 | |
| int	x_do_comment(char *buf, int bsize, int *lenp);
 | |
| void	x_print_expansions(int nwords, char *const *words, int is_command);
 | |
| int	x_cf_glob(int flags, const char *buf, int buflen, int pos, int *startp,
 | |
| 			  int *endp, char ***wordsp, int *is_commandp);
 | |
| int	x_longest_prefix(int nwords, char *const *words);
 | |
| int	x_basename(const char *s, const char *se);
 | |
| void	x_free_words(int nwords, char **words);
 | |
| int	x_escape(const char *, size_t, int (*)(const char *s, size_t len));
 | |
| /* emacs.c */
 | |
| int 	x_emacs(char *buf, size_t len);
 | |
| void 	x_init_emacs(void);
 | |
| void	x_emacs_keys(X_chars *ec);
 | |
| /* vi.c */
 | |
| int 	x_vi(char *buf, size_t len);
 | |
| 
 | |
| 
 | |
| #ifdef DEBUG
 | |
| # define D__(x) x
 | |
| #else
 | |
| # define D__(x)
 | |
| #endif
 | |
| 
 | |
| /* This lot goes at the END */
 | |
| /* be sure not to interfere with anyone else's idea about EXTERN */
 | |
| #ifdef EXTERN_DEFINED
 | |
| # undef EXTERN_DEFINED
 | |
| # undef EXTERN
 | |
| #endif
 | |
| #undef I__
 | |
| 
 | |
| #endif	/* ndef EDIT_H */
 |