feat: sys_readlink && sys_readlinkat (#436)

This commit is contained in:
LoGin
2023-11-12 17:40:45 +08:00
committed by GitHub
parent be8cdf4b8e
commit 709498cac1
3 changed files with 142 additions and 2 deletions

View File

@ -399,6 +399,8 @@ pub const SYS_CHDIR: usize = 80;
pub const SYS_MKDIR: usize = 83;
pub const SYS_READLINK: usize = 89;
pub const SYS_GETTIMEOFDAY: usize = 96;
pub const SYS_GETRUSAGE: usize = 98;
@ -437,6 +439,8 @@ pub const SYS_EXIT_GROUP: usize = 231;
pub const SYS_UNLINK_AT: usize = 263;
pub const SYS_READLINK_AT: usize = 267;
pub const SYS_ACCEPT4: usize = 288;
pub const SYS_PIPE: usize = 293;
@ -1171,6 +1175,22 @@ impl Syscall {
Self::get_rusage(who, rusage)
}
SYS_READLINK =>{
let path = args[0] as *const u8;
let buf = args[1] as *mut u8;
let bufsiz = args[2] as usize;
Self::readlink(path, buf, bufsiz)
}
SYS_READLINK_AT =>{
let dirfd = args[0] as i32;
let pathname = args[1] as *const u8;
let buf = args[2] as *mut u8;
let bufsiz = args[3] as usize;
Self::readlink_at(dirfd, pathname, buf, bufsiz)
}
_ => panic!("Unsupported syscall ID: {}", syscall_num),
};
return r;