xref: /inferno-os/utils/c2l/Posix.c (revision 7ef44d652ae9e5e1f5b3465d73684e4a54de73c0)
1 #include	"cc.h"
2 #include	<sys/wait.h>
3 
4 void*
5 mysbrk(ulong size)
6 {
7 	return (void*)sbrk(size);
8 }
9 
10 int
11 mycreat(char *n, int p)
12 {
13 
14 	return create(n, 1, p);
15 }
16 
17 int
18 mywait(int *s)
19 {
20 	return wait(s);
21 }
22 
23 int
24 mydup(int f1, int f2)
25 {
26 	if(f2 < 0)
27 		return dup(f1);
28 	return dup2(f1,f2);
29 }
30 
31 int
32 mypipe(int *fd)
33 {
34 	return pipe(fd);
35 }
36 
37 int
38 systemtype(int sys)
39 {
40 
41 	return sys&Unix;
42 }
43 
44 int
45 pathchar(void)
46 {
47 	return '/';
48 }
49 
50 char*
51 mygetwd(char *path, int len)
52 {
53 	return (char*)getcwd(path, len);
54 }
55 
56 int
57 myexec(char *path, char *argv[])
58 {
59 	return execvp(path, argv);
60 }
61 
62 /*
63  * fake mallocs
64  */
65 void*
66 malloc(size_t n)
67 {
68 	return alloc(n);
69 }
70 
71 void*
72 calloc(size_t m, size_t n)
73 {
74 	return alloc(m*n);
75 }
76 
77 void*
78 realloc(void *p, size_t n)
79 {
80 	fprint(2, "realloc called\n");
81 	abort();
82 	return 0;
83 }
84 
85 void
86 free(void *p)
87 {
88 }
89 
90 int
91 myfork(void)
92 {
93 	return fork();
94 }
95