File: esh.h

package info (click to toggle)
esh 0.8-7
  • links: PTS
  • area: main
  • in suites: sarge, woody
  • size: 508 kB
  • ctags: 542
  • sloc: ansic: 3,608; lisp: 166; makefile: 72
file content (47 lines) | stat: -rw-r--r-- 1,133 bytes parent folder | download | duplicates (2)
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
39
40
41
42
43
44
45
46
47
/* 
 * esh, the Unix shell with Lisp-like syntax. 
 * Copyright (C) 1999  Ivan Tkatchev
 * This source code is under the GPL.
 */


extern int interactive;
extern int exception_flag;
extern int stderr_handler_fd;

extern hash_table* aliases;
extern hash_table* defines;
extern hash_table* builtins;
extern list* jobs;
extern list* prompt;
extern list* stack;
extern list* ls_true;
extern list* ls_false;
extern list* ls_stdio;
extern list* ls_stderr;
extern list* ls_void;
extern char** environ;

extern char* syntax_blank;

extern char* dynamic_strcpy(char* chr);

extern char* file_read(int fd);
extern void file_write(int fd, char* data);

extern char next_token(char* input, int* i, char** value, int* len);
extern list* parse_builtin(char* input, int* len, int liter, int delay);
extern list* parse_split(char* input);

extern pid_t do_pipe(int f_src, int f_out, list* ls, int bg, int destruc);
extern list* do_builtin(list* ls);
extern void do_file(char* file, int do_error);

extern void ls_print(list* ls);
extern char* ls_strcat(list* ls);

extern void job_foreground(job_t* job);
extern void job_background(job_t* job);