summaryrefslogtreecommitdiff
path: root/ulib.c
diff options
context:
space:
mode:
Diffstat (limited to 'ulib.c')
-rw-r--r--ulib.c44
1 files changed, 44 insertions, 0 deletions
diff --git a/ulib.c b/ulib.c
new file mode 100644
index 0000000..694501e
--- /dev/null
+++ b/ulib.c
@@ -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");
+}