Add EXIT_FAILURE, EXIT_SUCCESS to syscall.h,
[pintos-anon] / src / lib / user / syscall.h
index 147252531bb0db74ae12bd74d378a25ea02bbebf..8a9e0c013e91a74bb87b318b7f2f3f094c341bd6 100644 (file)
@@ -4,16 +4,26 @@
 #include <stdbool.h>
 #include <debug.h>
 
+/* 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);
-int join (pid_t);
+int wait (pid_t);
 bool create (const char *file, unsigned initial_size);
 bool remove (const char *file);
 int open (const char *file);
@@ -23,10 +33,16 @@ 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);
-bool munmap (mapid_t);
+void munmap (mapid_t);
+
+/* Project 4 only. */
 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 */