X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flib%2Fuser%2Fsyscall.h;h=d9487d3df7b73ad67872be69dae90697990095f3;hb=bfc9e18a6723b2315ef521282a8b42119338ece9;hp=a594016cb1ff1db565f5739a97169f873d00167a;hpb=fa3c96150e704a346f1a92cb52cd811514b24755;p=pintos-anon diff --git a/src/lib/user/syscall.h b/src/lib/user/syscall.h index a594016..d9487d3 100644 --- a/src/lib/user/syscall.h +++ b/src/lib/user/syscall.h @@ -5,22 +5,32 @@ #include typedef int pid_t; +#define PID_ERROR ((pid_t) -1) + +typedef int mapid_t; +#define MAP_FAILED ((mapid_t) -1) + +#define READDIR_MAX_LEN 14 void halt (void) NO_RETURN; void exit (int status) NO_RETURN; pid_t exec (const char *file); -int join (pid_t); -bool create (const char *file); +int wait (pid_t); +bool create (const char *file, unsigned initial_size); bool remove (const char *file); int open (const char *file); int filesize (int fd); int read (int fd, void *buffer, unsigned length); int write (int fd, const void *buffer, unsigned length); +void seek (int fd, unsigned position); +unsigned tell (int fd); void close (int fd); -bool mmap (int fd, void *addr, unsigned length); -bool munmap (void *addr, unsigned length); +mapid_t mmap (int fd, void *addr); +void munmap (mapid_t); bool chdir (const char *dir); bool mkdir (const char *dir); -void lsdir (void); +bool readdir (int fd, char name[READDIR_MAX_LEN + 1]); +bool isdir (int fd); +int inumber (int fd); #endif /* lib/user/syscall.h */