aboutsummaryrefslogtreecommitdiff
path: root/sys/cmd/rc/exec.h
blob: a3a6ae93973726d39d992177d8d12d30bbc4358e (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
#pragma once

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

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 Xword(void);
void Xjoin(void);
void Xconcatenate(void);
void Xcount(void);
void Xflat(void);
void Xpipe(void);
void Xpipewait(void);
void Xpopredir(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 xboot(int argc, char *argv[]);