X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flib%2Fuser%2Fsyscall.h;h=8a9e0c013e91a74bb87b318b7f2f3f094c341bd6;hb=0db48366884f3d6418217b926c4febc1bc2a3c13;hp=d9487d3df7b73ad67872be69dae90697990095f3;hpb=bfc9e18a6723b2315ef521282a8b42119338ece9;p=pintos-anon diff --git a/src/lib/user/syscall.h b/src/lib/user/syscall.h index d9487d3..8a9e0c0 100644 --- a/src/lib/user/syscall.h +++ b/src/lib/user/syscall.h @@ -4,14 +4,22 @@ #include #include +/* Process identifier. */ typedef int pid_t; #define PID_ERROR ((pid_t) -1) +/* Map region identifier. */ typedef int mapid_t; #define MAP_FAILED ((mapid_t) -1) +/* Maximum characters in a filename written by readdir(). */ #define READDIR_MAX_LEN 14 +/* Typical return values from main() and arguments to exit(). */ +#define EXIT_SUCCESS 0 /* Successful execution. */ +#define EXIT_FAILURE 1 /* Unsuccessful execution. */ + +/* Projects 2 and later. */ void halt (void) NO_RETURN; void exit (int status) NO_RETURN; pid_t exec (const char *file); @@ -25,8 +33,12 @@ int write (int fd, const void *buffer, unsigned length); void seek (int fd, unsigned position); unsigned tell (int fd); void close (int fd); + +/* Project 3 and optionally project 4. */ mapid_t mmap (int fd, void *addr); void munmap (mapid_t); + +/* Project 4 only. */ bool chdir (const char *dir); bool mkdir (const char *dir); bool readdir (int fd, char name[READDIR_MAX_LEN + 1]);