summaryrefslogtreecommitdiff
path: root/shell/cmdedit.h
blob: 27f7b5500dc632292b63c7c469c8a5ac4196af55 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#ifndef CMDEDIT_H
#define CMDEDIT_H

/* unix systems can #define POSIX to use termios, otherwise 
 * the bsd or sysv interface will be used 
 */

#ifdef __STDC__ 
#include <stddef.h>

typedef size_t (*cmdedit_strwidth_proc)(char *);

void cmdedit_init(void);
void cmdedit_terminate(void);
void cmdedit_read_input(char* promptStr, char* command);		/* read a line of input */
void cmdedit_setwidth(int);		/* specify width of screen */
void cmdedit_histadd(char *);		/* adds entries to hist */
void cmdedit_strwidth(cmdedit_strwidth_proc);	/* to bind cmdedit_strlen */

extern int 	(*cmdedit_in_hook)(char *);
extern int 	(*cmdedit_out_hook)(char *);
extern int	(*cmdedit_tab_hook)(char *, int, int *);

#else	/* not __STDC__ */

void cmdedit_init(void);
void cmdedit_read_input(char* promptStr, char* command);
void cmdedit_setwidth();
void cmdedit_histadd();
void cmdedit_strwidth();

extern int 	(*cmdedit_in_hook)();
extern int 	(*cmdedit_out_hook)();
extern int	(*cmdedit_tab_hook)();

#endif /* __STDC__ */

#endif /* CMDEDIT_H */