summaryrefslogtreecommitdiff
path: root/rc.h
diff options
context:
space:
mode:
Diffstat (limited to 'rc.h')
-rw-r--r--rc.h26
1 files changed, 18 insertions, 8 deletions
diff --git a/rc.h b/rc.h
index cf1819f..9663728 100644
--- a/rc.h
+++ b/rc.h
@@ -194,7 +194,6 @@ enum {
/* rc prototypes */
/* main.c */
-extern char *prompt, *prompt2;
extern Rq *redirq;
extern bool dashdee, dashee, dashvee, dashex, dashell,
dasheye, dashen, dashpee, interactive;
@@ -289,6 +288,7 @@ extern int heredoc(int);
extern int qdoc(Node *, Node *);
extern Hq *hq;
+
/* input.c */
extern void initinput(void);
extern Node *parseline(char *);
@@ -304,6 +304,12 @@ extern void closefds(void);
extern int last;
extern bool rcrc;
+#if READLINE
+extern bool in_readline;
+extern int rl_pending_input; /* Really from readline library. */
+#endif
+
+
/* lex.c */
extern int yylex(void);
extern void inityy(void);
@@ -365,6 +371,7 @@ extern void initparse(void);
/* redir.c */
extern void doredirs(void);
+
/* signal.c */
extern void initsignal(void);
extern void catcher(int);
@@ -373,6 +380,13 @@ extern void (*rc_signal(int, void (*)(int)))(int);
extern void (*sighandlers[])(int);
extern volatile SIG_ATOMIC_T slow, interrupt_happened;
+#if READLINE
+extern void rl_clean_up_for_exit(void);
+extern void rl_deprep_terminal(void);
+extern int rl_clear_signals(void);
+#endif
+
+
/* status.c */
extern int istrue(void);
extern int getstatus(void);
@@ -390,17 +404,13 @@ extern void writeall(int, char *, size_t);
#if HAVE_RESTARTABLE_SYSCALLS
extern int rc_read(int, char *, size_t);
-#if READLINE
-extern char *rc_readline(char *prompt);
-#endif
+extern pid_t rc_wait(int *);
#else /* HAVE_RESTARTABLE_SYSCALLS */
+
#define rc_read read
+#include <sys/wait.h>
#define rc_wait wait
-#if READLINE
-#define rc_readline readline
-#endif
-
#endif /* HAVE_RESTARTABLE_SYSCALLS */