X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?p=pintos-anon;a=blobdiff_plain;f=src%2Flib%2Fuser%2Fsyscall.c;h=c8385bc3364b1eabc57e68bae885fe458537b42a;hp=2485530fc08f053bfd15935480b3474cc0528bf6;hb=ea904493370d2a752855cc93aad1e27b009dd917;hpb=252579b95653c24a2fdd1691b36dede118631596 diff --git a/src/lib/user/syscall.c b/src/lib/user/syscall.c index 2485530..c8385bc 100644 --- a/src/lib/user/syscall.c +++ b/src/lib/user/syscall.c @@ -38,8 +38,8 @@ "pushl %[number]; int $0x30; addl $12, %%esp" \ : "=a" (retval) \ : [number] "i" (NUMBER), \ - [arg0] "g" (ARG0), \ - [arg1] "g" (ARG1) \ + [arg0] "r" (ARG0), \ + [arg1] "r" (ARG1) \ : "memory"); \ retval; \ }) @@ -54,9 +54,9 @@ "pushl %[number]; int $0x30; addl $16, %%esp" \ : "=a" (retval) \ : [number] "i" (NUMBER), \ - [arg0] "g" (ARG0), \ - [arg1] "g" (ARG1), \ - [arg2] "g" (ARG2) \ + [arg0] "r" (ARG0), \ + [arg1] "r" (ARG1), \ + [arg2] "r" (ARG2) \ : "memory"); \ retval; \ }) @@ -165,9 +165,20 @@ mkdir (const char *dir) return syscall1 (SYS_MKDIR, dir); } -void -lsdir (void) +bool +readdir (int fd, char name[READDIR_MAX_LEN + 1]) { - syscall0 (SYS_LSDIR); + return syscall2 (SYS_READDIR, fd, name); } +bool +isdir (int fd) +{ + return syscall1 (SYS_ISDIR, fd); +} + +int +inumber (int fd) +{ + return syscall1 (SYS_INUMBER, fd); +}