Warning: Attempt to read property "date" on null in /usr/local/www/websvn.planix.org/blame.php on line 247

Warning: Attempt to read property "msg" on null in /usr/local/www/websvn.planix.org/blame.php on line 247
WebSVN – planix.SVN – Blame – /os/branches/feature_fixcpp/sys/src/cmd/6c/sys.c – Rev 2

Subversion Repositories planix.SVN

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
#include <u.h>
2
#include <libc.h>
3
#include "/sys/src/libc/9syscall/sys.h"
4
 
5
vlong	_sysargs[6*4];
6
vlong _callsys(void);
7
 
8
/*
9
 * syscalls
10
 */
11
 
12
int
13
getpid(void)
14
{
15
	_sysargs[0] = -1;
16
	return _callsys();
17
}
18
 
19
long
20
pread(int fd, void *a, long n, vlong)
21
{
22
	_sysargs[0] = PREAD;
23
	_sysargs[1] = fd;
24
	_sysargs[2] = (vlong)a;
25
	_sysargs[3] = n;
26
	return _callsys();
27
}
28
 
29
long
30
pwrite(int fd, void *a, long n, vlong)
31
{
32
	_sysargs[0] = PWRITE;
33
	_sysargs[1] = fd;
34
	_sysargs[2] = (vlong)a;
35
	_sysargs[3] = n;
36
	return _callsys();
37
}
38
 
39
int
40
close(int fd)
41
{
42
	_sysargs[0] = CLOSE;
43
	_sysargs[1] = fd;
44
	return _callsys();
45
}
46
 
47
int
48
open(char *name, int mode)
49
{
50
	_sysargs[0] = OPEN;
51
	_sysargs[1] = (vlong)name;
52
	_sysargs[2] = mode;
53
	return _callsys();
54
}
55
 
56
int
57
create(char *f, int mode, ulong perm)
58
{
59
	_sysargs[0] = CREATE;
60
	_sysargs[1] = (vlong)f;
61
	_sysargs[2] = mode;
62
	_sysargs[3] = perm;
63
	return _callsys();
64
}
65
 
66
void
67
_exits(char *s)
68
{
69
	_sysargs[0] = EXITS;
70
	_sysargs[1] = s!=nil? strlen(s): 0;
71
	_callsys();
72
}
73
 
74
int
75
dup(int f, int t)
76
{
77
	_sysargs[0] = DUP;
78
	_sysargs[1] = f;
79
	_sysargs[2] = t;
80
	return _callsys();
81
}
82
 
83
int
84
errstr(char *buf, uint n)
85
{
86
	_sysargs[0] = ERRSTR;
87
	_sysargs[1] = (vlong)buf;
88
	_sysargs[2] = n;
89
	return _callsys();
90
}
91
 
92
int
93
brk_(void *a)
94
{
95
	_sysargs[0] = BRK_;
96
	_sysargs[1] = (vlong)a;
97
	return _callsys();
98
}
99
 
100
void*
101
sbrk(ulong n)
102
{
103
	_sysargs[0] = -2;
104
	_sysargs[1] = n;
105
	return (void*)_callsys();
106
}