Go to the source code of this file.
Data Structures | |
struct | _EDITHISTORY |
Line input history. More... | |
struct | _EDLINE |
Edit line information structure. More... | |
Typedefs | |
typedef struct _EDITHISTORY | EDITHISTORY |
Line input history. | |
typedef int(* | EDLINEGET )(void *) |
Input routine type. | |
typedef int(* | EDLINEPUT )(void *, int) |
Output routine type. | |
typedef int(* | EDLINEMAP )(int, int *) |
Character mapping routine type. | |
typedef struct _EDLINE | EDLINE |
Edit line information structure. | |
Functions | |
EDLINE * | EdLineOpen (uint16_t mode) |
Open a line editor. | |
void | EdLineClose (EDLINE *el) |
Close a line editor. | |
int | EdLineRead (EDLINE *el, char *buf, int siz) |
Read a line. | |
EDITHISTORY * | EditHistoryCreate (int siz) |
Create an editor history table. | |
void | EditHistoryDestroy (EDITHISTORY *hist) |
Create an editor history table. | |
void | EditHistorySet (EDITHISTORY *hist, int idx, char *buf) |
Replace the specified history table entry. | |
int | EditHistoryGet (EDITHISTORY *hist, int idx, char *buf, int siz) |
Retrieve the specified history table entry. | |
void | EditHistoryInsert (EDITHISTORY *hist, int idx, char *buf) |
Insert a new history table entry at the specified position. | |
void | EdLineRegisterKeymap (EDLINE *el, EDLINEMAP map) |
Register a key mapping routine. | |
int | EdLineKeyMap (int key, int *seq) |
Default key mapping routine. | |
int | EdLineKeyMapVt100 (int key, int *seq) |
Optional VT100 key mapping routine. | |
void | EdLineRegisterInput (EDLINE *el, EDLINEGET get, void *iparm) |
Register an input routine. | |
void | EdLineRegisterOutput (EDLINE *el, EDLINEPUT put, void *oparm) |
Register an output routine. | |
Edit mode flags | |
Used when calling EdLineOpen to enable specific line editor features. | |
#define | EDIT_MODE_ECHO 0x0001 |
Enables echoing of input characters. | |
#define | EDIT_MODE_BINARY 0x0002 |
Enables binary mode (currently unused). | |
#define | EDIT_MODE_HISTORY 0x0004 |
Enables input line history. | |
Line editor input commands | |
Special keys which are interpreted by the editor as commands. | |
#define | EDIT_KEY_IGNORE 0x00 |
No operation. Default is Ctrl-@. | |
#define | EDIT_KEY_HOME 0x01 |
Move cursor to line begin. Default is Ctrl-A. | |
#define | EDIT_KEY_LEFT 0x02 |
Move cursor left. Default is Ctrl-B. | |
#define | EDIT_KEY_END 0x05 |
Move cursor to line end. Default is Ctrl-E. | |
#define | EDIT_KEY_RIGHT 0x06 |
Move cursor right. Default is Ctrl-F. | |
#define | EDIT_KEY_REMOVE 0x08 |
Delete left character. Default is Ctrl-H. | |
#define | EDIT_KEY_ENTER 0x0a |
Confirm input. Default is Ctrl-J. | |
#define | EDIT_KEY_UP 0x12 |
History upwards. Default is Ctrl-R. | |
#define | EDIT_KEY_DOWN 0x16 |
History downwards. Default is Ctrl-V. | |
#define | EDIT_KEY_RESTORE 0x1b |
Restore default. Default is ESC. | |
Line editor output commands | |
#define | EDIT_CHAR_SPACE ' ' |
Clear character right. | |
#define | EDIT_CHAR_BACKSPACE '\b' |
Move cursor left. | |
#define | EDIT_CHAR_ALARM '\a' |
Invoke audible alarm. | |
#define | EDIT_STR_EOL "\r\n" |
Terminate input. |