diff options
author | Ed Maste <emaste@FreeBSD.org> | 2013-11-06 16:48:53 +0000 |
---|---|---|
committer | Ed Maste <emaste@FreeBSD.org> | 2013-11-06 16:48:53 +0000 |
commit | f21a844f60ae6c74fcf1fddca32461acce3c1ee0 (patch) | |
tree | 56d79f94966870db1cecd65a7264510a25fd1cba /tools/driver/ELWrapper.h | |
parent | 37d22554be9f5a677dad2a95b7ef22fe59c66a8a (diff) | |
download | src-f21a844f60ae6c74fcf1fddca32461acce3c1ee0.tar.gz src-f21a844f60ae6c74fcf1fddca32461acce3c1ee0.zip |
Import lldb as of SVN r194122vendor/lldb/lldb-r194122
Sponsored by: DARPA, AFRL
Notes
Notes:
svn path=/vendor/lldb/dist/; revision=257752
svn path=/vendor/lldb/lldb-r194122/; revision=257753; tag=vendor/lldb/lldb-r194122
Diffstat (limited to 'tools/driver/ELWrapper.h')
-rw-r--r-- | tools/driver/ELWrapper.h | 122 |
1 files changed, 122 insertions, 0 deletions
diff --git a/tools/driver/ELWrapper.h b/tools/driver/ELWrapper.h new file mode 100644 index 000000000000..a30182d948b1 --- /dev/null +++ b/tools/driver/ELWrapper.h @@ -0,0 +1,122 @@ +//===-- ELWrapper.h ---------------------------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include <stdio.h> + +// EditLine editor function return codes. +// For user-defined function interface +#define CC_NORM 0 +#define CC_NEWLINE 1 +#define CC_EOF 2 +#define CC_ARGHACK 3 +#define CC_REFRESH 4 +#define CC_CURSOR 5 +#define CC_ERROR 6 +#define CC_FATAL 7 +#define CC_REDISPLAY 8 +#define CC_REFRESH_BEEP 9 + +// el_set/el_get parameters +#define EL_PROMPT 0 // , el_pfunc_t +#define EL_TERMINAL 1 // , const char * +#define EL_EDITOR 2 // , const char * +#define EL_SIGNAL 3 // , int); +#define EL_BIND 4 // , const char *, ..., NULL +#define EL_TELLTC 5 // , const char *, ..., NULL +#define EL_SETTC 6 // , const char *, ..., NULL +#define EL_ECHOTC 7 // , const char *, ..., NULL +#define EL_SETTY 8 // , const char *, ..., NULL +#define EL_ADDFN 9 // , const char *, const char *, el_func_t +#define EL_HIST 10 // , hist_fun_t, const char * +#define EL_EDITMODE 11 // , int +#define EL_RPROMPT 12 // , el_pfunc_t +#define EL_GETCFN 13 // , el_rfunc_t +#define EL_CLIENTDATA 14 // , void * +#define EL_UNBUFFERED 15 // , int +#define EL_PREP_TERM 16 // , int +#define EL_GETTC 17 // , const char *, ..., NULL +#define EL_GETFP 18 // , int, FILE ** +#define EL_SETFP 19 // , int, FILE * +#define EL_REFRESH 20 // , void + +#define EL_BUILTIN_GETCFN (NULL) + +// history defines +#define H_FUNC 0 // , UTSL +#define H_SETSIZE 1 // , const int +#define H_GETSIZE 2 // , void +#define H_FIRST 3 // , void +#define H_LAST 4 // , void +#define H_PREV 5 // , void +#define H_NEXT 6 // , void +#define H_CURR 8 // , const int +#define H_SET 7 // , int +#define H_ADD 9 // , const char * +#define H_ENTER 10 // , const char * +#define H_APPEND 11 // , const char * +#define H_END 12 // , void +#define H_NEXT_STR 13 // , const char * +#define H_PREV_STR 14 // , const char * +#define H_NEXT_EVENT 15 // , const int +#define H_PREV_EVENT 16 // , const int +#define H_LOAD 17 // , const char * +#define H_SAVE 18 // , const char * +#define H_CLEAR 19 // , void +#define H_SETUNIQUE 20 // , int +#define H_GETUNIQUE 21 // , void +#define H_DEL 22 // , int + +struct EditLine +{ +}; + +struct LineInfo +{ + const char *buffer; + const char *cursor; + const char *lastchar; +}; + +struct History +{ +}; + +struct HistEvent +{ + int num; + const char *str; +}; + +extern "C" +{ + // edit line API + EditLine *el_init ( const char *, FILE *, FILE *, FILE * ); + const char *el_gets ( EditLine *, int * ); + int el_set ( EditLine *, int, ... ); + + void el_end ( EditLine * ); + void el_reset ( EditLine * ); + int el_getc ( EditLine *, char * ); + void el_push ( EditLine *, char * ); + void el_beep ( EditLine * ); + int el_parse ( EditLine *, int, const char ** ); + int el_get ( EditLine *, int, ... ); + int el_source ( EditLine *, const char * ); + void el_resize ( EditLine * ); + const LineInfo *el_line ( EditLine * ); + int el_insertstr( EditLine *, const char * ); + void el_deletestr( EditLine *, int ); + + // history API + History *history_init( void ); + void history_end ( History * ); + int history ( History *, HistEvent *, int, ... ); +};
\ No newline at end of file |