summaryrefslogtreecommitdiff
path: root/sys/src/cmd/6c/sys.c
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@gmx.de>2012-07-30 19:11:16 +0200
committercinap_lenrek <cinap_lenrek@gmx.de>2012-07-30 19:11:16 +0200
commit4f33c88a51587681b7be1ae57cfbc43b627c6bc4 (patch)
tree25560404dc80007e5dc268811242c9071f6a1017 /sys/src/cmd/6c/sys.c
parentfcc5e75d07e5bc6cb3ddac6d9a437e7ec62d0d95 (diff)
import updated compilers from sources
Diffstat (limited to 'sys/src/cmd/6c/sys.c')
-rw-r--r--sys/src/cmd/6c/sys.c106
1 files changed, 106 insertions, 0 deletions
diff --git a/sys/src/cmd/6c/sys.c b/sys/src/cmd/6c/sys.c
new file mode 100644
index 000000000..abdc42b04
--- /dev/null
+++ b/sys/src/cmd/6c/sys.c
@@ -0,0 +1,106 @@
+#include <u.h>
+#include <libc.h>
+#include "/sys/src/libc/9syscall/sys.h"
+
+vlong _sysargs[6*4];
+vlong _callsys(void);
+
+/*
+ * syscalls
+ */
+
+int
+getpid(void)
+{
+ _sysargs[0] = -1;
+ return _callsys();
+}
+
+long
+pread(int fd, void *a, long n, vlong)
+{
+ _sysargs[0] = PREAD;
+ _sysargs[1] = fd;
+ _sysargs[2] = (vlong)a;
+ _sysargs[3] = n;
+ return _callsys();
+}
+
+long
+pwrite(int fd, void *a, long n, vlong)
+{
+ _sysargs[0] = PWRITE;
+ _sysargs[1] = fd;
+ _sysargs[2] = (vlong)a;
+ _sysargs[3] = n;
+ return _callsys();
+}
+
+int
+close(int fd)
+{
+ _sysargs[0] = CLOSE;
+ _sysargs[1] = fd;
+ return _callsys();
+}
+
+int
+open(char *name, int mode)
+{
+ _sysargs[0] = OPEN;
+ _sysargs[1] = (vlong)name;
+ _sysargs[2] = mode;
+ return _callsys();
+}
+
+int
+create(char *f, int mode, ulong perm)
+{
+ _sysargs[0] = CREATE;
+ _sysargs[1] = (vlong)f;
+ _sysargs[2] = mode;
+ _sysargs[3] = perm;
+ return _callsys();
+}
+
+void
+_exits(char *s)
+{
+ _sysargs[0] = EXITS;
+ _sysargs[1] = s!=nil? strlen(s): 0;
+ _callsys();
+}
+
+int
+dup(int f, int t)
+{
+ _sysargs[0] = DUP;
+ _sysargs[1] = f;
+ _sysargs[2] = t;
+ return _callsys();
+}
+
+int
+errstr(char *buf, uint n)
+{
+ _sysargs[0] = ERRSTR;
+ _sysargs[1] = (vlong)buf;
+ _sysargs[2] = n;
+ return _callsys();
+}
+
+int
+brk_(void *a)
+{
+ _sysargs[0] = BRK_;
+ _sysargs[1] = (vlong)a;
+ return _callsys();
+}
+
+void*
+sbrk(ulong n)
+{
+ _sysargs[0] = -2;
+ _sysargs[1] = n;
+ return (void*)_callsys();
+}