Big commit: Added symlink support to the kernel.

- added needed syscalls to access symlink support from userland
- implemented lstat(), symlink(), and readlink()
- added dev_t to ktypes.h (for now - should be in a public header anyway)
- added symlink support to the "ls" command (now calls lstat() and shows the
  link target with the -l option)
- changed the sys_read_stat() call to support symlinks, and updated files
  using that function (it gets an extra argument: bool traverseLink)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@560 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler
2002-08-03 02:03:27 +00:00
parent 409a1aeacd
commit ae372703ce
15 changed files with 336 additions and 366 deletions
+6 -4
View File
@@ -22,8 +22,8 @@ enum {
SYSCALL_CREATE,
SYSCALL_UNLINK,
SYSCALL_RENAME,
SYSCALL_RSTAT,
SYSCALL_WSTAT,
SYSCALL_READ_STAT,
SYSCALL_WRITE_STAT,
SYSCALL_SYSTEM_TIME,
SYSCALL_SNOOZE,
SYSCALL_SEM_CREATE,
@@ -82,7 +82,7 @@ enum {
SYSCALL_SYSCTL,
SYSCALL_SOCKET,
SYSCALL_GETDTABLESIZE,
SYSCALL_FSTAT,
SYSCALL_FD_STAT,
SYSCALL_READ_DIR,
SYSCALL_REWIND_DIR,
SYSCALL_OPEN_DIR,
@@ -93,7 +93,9 @@ enum {
SYSCALL_OPEN_DIR_ENTRY_REF,
SYSCALL_OPEN_DIR_NODE_REF,
SYSCALL_CREATE_ENTRY_REF,
SYSCALL_CREATE_DIR_ENTRY_REF
SYSCALL_CREATE_DIR_ENTRY_REF,
SYSCALL_CREATE_SYMLINK,
SYSCALL_READ_LINK,
};
int syscall_dispatcher(unsigned long call_num, void *arg_buffer, uint64 *call_ret);