diff options
author | rtm <rtm> | 2006-06-27 14:35:53 +0000 |
---|---|---|
committer | rtm <rtm> | 2006-06-27 14:35:53 +0000 |
commit | c41f1de5d41a527a3fa2d1e94215766130eac456 (patch) | |
tree | 86f6a467be8b42aec42a05299789f39ace9cc5e2 /ulib.c | |
parent | b61c2547b8b489cab16984c0940a1cb6593a2a3d (diff) | |
download | xv6-labs-c41f1de5d41a527a3fa2d1e94215766130eac456.tar.gz xv6-labs-c41f1de5d41a527a3fa2d1e94215766130eac456.tar.bz2 xv6-labs-c41f1de5d41a527a3fa2d1e94215766130eac456.zip |
file descriptors
pipes
Diffstat (limited to 'ulib.c')
-rw-r--r-- | ulib.c | 44 |
1 files changed, 44 insertions, 0 deletions
@@ -0,0 +1,44 @@ +int +fork() +{ + asm("mov $1, %eax"); + asm("int $48"); +} + +void +cons_putc(int c) +{ + asm("mov $4, %eax"); + asm("int $48"); +} + +int +puts(char *s) +{ + int i; + + for(i = 0; s[i]; i++) + cons_putc(s[i]); + return i; +} + +int +pipe(int fds[]) +{ + asm("mov $5, %eax"); + asm("int $48"); +} + +int +read(int fd, char *buf, int n) +{ + asm("mov $7, %eax"); + asm("int $48"); +} + +int +write(int fd, char *buf, int n) +{ + asm("mov $6, %eax"); + asm("int $48"); +} |