aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/rc/exec.h
blob: 28cbd8010f0ff35541a0c7d13fa607c74cbc4039 (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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#pragma once

/*
 * opcode routines
 * arguments on stack (...)
 * arguments in line [...]
 * code in line with jump around {...}
 */

void Xnewpgid(void);
void Xsubcmd(void);
void Xunmark(void);
void Xwrite(void);
void Xread(void);
void Xrdwr(void);
void Xappend(void);
void Xclose(void);
void Xdup(void);
void Xdelhere(void);
void Xcase(void);
void Xfunc(void);
void Xmatch(void);
void Xmark(void);           // Xmark            marks stack location for word
void Xindex(void);          // Xindex
void Xlocal(void);          // Xlocal(name,val) create local variable, assign value
void Xunlocal(void);        // Xunlocal         delete local variable
void Xdollar(void);         // Xdollar(name)    get value of name
void Xtrue(void);           // Xtrue{...}       execute {} if true
void Xfalse(void);          // Xfalse{...}      execute {} if false
void Xgoto(void);           // Xgoto[addr]      goto address
void Xfor(void);            // Xfor(var, list){... Xreturn}
void Xreadcmd(void);        //
void Xassign(void);
void Xbang(void);
void Xasync(void);
void Xbasic(void);          // Xbasic(args) run command and wait for result
void Xsubshell(void);
void Xsettrue(void);
void Xword(void);
void Xjoin(void);
void Xconcatenate(void);
void Xcount(void);
void Xflat(void);
void Xpipe(void);
void Xpipewait(void);
void Xpopredir(void);
void Xglob(void);

void Xreturn(void);
void Xexit(void);

void Xerror(char*);

/* builtin commands */
void xcd(void);
void xdot(void);
void xecho(void);
void xexit(void);
void xfg(void);
void xjob(void);
void xfunc(Var *v);

void xboot(char *exe, int argc, char *argv[]);