summary refs log tree commit diff
diff options
context:
space:
mode:
authoredef <edef@unfathomable.blue>2022-07-28 00:29:57 +0000
committeredef <edef@unfathomable.blue>2022-07-28 00:29:57 +0000
commit58a2874ba52fa44bf8350c4fab259d237fe2d8b8 (patch)
tree7c9550fe43f62c53391838d0844e3b443ad766be
parent7f7755f57d710babbe96906f0759fefc2a63ffb2 (diff)
ripple/minitrace: mark file descriptor parameters
This doesn't specifically handle
 * the distinction between borrowed/owned file descriptors
   (in non-return positions, that only applies to `close`)
 * "nullable" fd parameters (-1 for not-present)
 * other sentinel fds, like AT_FDCWD
 * fd validity in general

Change-Id: I00fa68ec94b8f24e28c661d0c007becb37c0a5f3
-rw-r--r--ripple/minitrace/src/main.rs18
1 files changed, 10 insertions, 8 deletions
diff --git a/ripple/minitrace/src/main.rs b/ripple/minitrace/src/main.rs
index 7a70951..6db4747 100644
--- a/ripple/minitrace/src/main.rs
+++ b/ripple/minitrace/src/main.rs
@@ -209,6 +209,8 @@ impl SyscallArg for *mut u8 {
 	}
 }
 
+type FileDesc = i32;
+
 type SigAction = ();
 type SysInfo = ();
 type Tms = ();
@@ -230,15 +232,15 @@ impl SyscallArg for *const () {
 
 define_syscalls! {
 	enum SyscallEntry {
-		fn read(fd: i32, buf: *mut u8, count: usize) -> i64 = 0;
-		fn write(fd: i32, buf: *const u8, count: usize) -> i64 = 1;
-		fn close(fd: i32) -> i64 = 3;
-		fn mmap(addr: u64, len: u64, prot: u64, flags: MapFlags, fd: i32, off: u64) -> i64 = 9;
+		fn read(fd: FileDesc, buf: *mut u8, count: usize) -> i64 = 0;
+		fn write(fd: FileDesc, buf: *const u8, count: usize) -> i64 = 1;
+		fn close(fd: FileDesc) -> i64 = 3;
+		fn mmap(addr: u64, len: u64, prot: u64, flags: MapFlags, fd: FileDesc, off: u64) -> i64 = 9;
 		fn mprotect(addr: u64, len: usize, prot: u64) -> i64 = 10;
 		fn brk(brk: u64) -> i64 = 12;
 		fn rt_sigaction(sig: i32, act: *const SigAction, oact: *mut SigAction, sigsetsize: usize) -> i64 = 13;
-		fn ioctl(fd: u32, cmd: u32, arg: u64) -> i64 = 16;
-		fn pread64(fd: u32, buf: *mut u8, count: usize, pos: u64) -> i64 = 17;
+		fn ioctl(fd: FileDesc, cmd: u32, arg: u64) -> i64 = 16;
+		fn pread64(fd: FileDesc, buf: *mut u8, count: usize, pos: u64) -> i64 = 17;
 		fn access(filename: *const u8, mode: i32) -> i64 = 21;
 		fn getcwd(buf: *mut u8, size: u64) -> i64 = 79;
 		fn readlink(path: *const u8, buf: *mut u8, bufsiz: i32) -> i64 = 89;
@@ -247,8 +249,8 @@ define_syscalls! {
 		fn arch_prctl(option: i32, arg2: u64) -> i64 = 158;
 		fn set_tid_address(tidptr: *mut i32) -> i64 = 218;
 		fn exit_group(error_code: i32) -> i64 = 231;
-		fn openat(dfd: i32, filename: *const u8, flags: OpenFlags, mode: u16) -> i64 = 257;
-		fn newfstatat(dfd: i32, filename: *const u8, statbuf: *mut Stat, flag: i32) -> i64 = 262;
+		fn openat(dfd: FileDesc, filename: *const u8, flags: OpenFlags, mode: u16) -> i64 = 257;
+		fn newfstatat(dfd: FileDesc, filename: *const u8, statbuf: *mut Stat, flag: i32) -> i64 = 262;
 		fn set_robust_list(head: *mut RobustListHead, len: usize) -> i64 = 273;
 		fn prlimit64(pid: i32, resource: u32, new_rlim: *const RLimit64, old_rlim: *mut RLimit64) -> i64 = 302;
 		fn getrandom(ubuf: *mut u8, len: usize, flags: GrndFlags) -> i64 = 318;