summaryrefslogtreecommitdiff
path: root/defs.h
diff options
context:
space:
mode:
authorrsc <rsc>2007-08-21 19:22:08 +0000
committerrsc <rsc>2007-08-21 19:22:08 +0000
commitf32f3638f4c34fbf2fc4398878e6304612bb3283 (patch)
treecabca9bf9ac8b1465b2c59e27e3dc8020c02e2be /defs.h
parent2d61a40b2059b9a198e7c4ff04c6ced88cb3ce65 (diff)
downloadxv6-labs-f32f3638f4c34fbf2fc4398878e6304612bb3283.tar.gz
xv6-labs-f32f3638f4c34fbf2fc4398878e6304612bb3283.tar.bz2
xv6-labs-f32f3638f4c34fbf2fc4398878e6304612bb3283.zip
Various cleanup:
- Got rid of dummy proc[0]. Now proc[0] is init. - Added initcode.S to exec /init, so that /init is just a regular binary. - Moved exec out of sysfile to exec.c - Moved code dealing with fs guts (like struct inode) from sysfile.c to fs.c. Code dealing with system call arguments stays in sysfile.c - Refactored directory routines in fs.c; should be simpler. - Changed iget to return *unlocked* inode structure. This solves the lookup-then-use race in namei without introducing deadlocks. It also enabled getting rid of the dummy proc[0].
Diffstat (limited to 'defs.h')
-rw-r--r--defs.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/defs.h b/defs.h
index f2f8d73..24fd52b 100644
--- a/defs.h
+++ b/defs.h
@@ -40,6 +40,7 @@ int memcmp(const void*, const void*, uint);
void* memmove(void*, const void*, uint);
int strncmp(const char*, const char*, uint);
char* safestrcpy(char*, const char*, int);
+int strlen(const char*);
// syscall.c
void syscall(void);
@@ -135,11 +136,16 @@ int readi(struct inode*, char*, uint, uint);
int writei(struct inode*, char*, uint, uint);
struct inode* mknod(char*, short, short, short);
struct inode* dircreat(struct inode*, char*, int, short, short, short);
-int dirlookup(struct inode*, char*, int, uint*, uint*);
+struct inode* dirlookup(struct inode*, char*, int, uint*);
int unlink(char*);
void iupdate(struct inode*);
int link(char*, char*);
struct inode* igetroot(void);
+int mkdir(char *path);
+struct inode* create(char *path);
+
+// exec.c
+int exec(char*, char**);
// number of elements in fixed-size array
#define NELEM(x) (sizeof(x)/sizeof((x)[0]))