[starnix] Rename FileDescriptor to FdNumber
It's not clear whether the name FileDescriptor refers to the number or
the object backing it.
Change-Id: I13dc72927f6ee82fad77b0aa9dc16b0634975a20
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/525143
Reviewed-by: Adam Barth <abarth@google.com>
Commit-Queue: Theodore Dubois <tbodt@google.com>
diff --git a/src/proc/bin/starnix/fs/fd.rs b/src/proc/bin/starnix/fs/fd.rs
index e8836ed..5ce14cf 100644
--- a/src/proc/bin/starnix/fs/fd.rs
+++ b/src/proc/bin/starnix/fs/fd.rs
@@ -16,10 +16,10 @@
pub use starnix_macros::FileObject;
#[derive(Hash, PartialEq, Eq, Debug, Copy, Clone)]
-pub struct FileDescriptor(i32);
-impl FileDescriptor {
- pub fn from_raw(n: i32) -> FileDescriptor {
- FileDescriptor(n)
+pub struct FdNumber(i32);
+impl FdNumber {
+ pub fn from_raw(n: i32) -> FdNumber {
+ FdNumber(n)
}
pub fn raw(&self) -> i32 {
self.0
@@ -155,7 +155,7 @@
}
pub struct FdTable {
- table: RwLock<HashMap<FileDescriptor, FdTableEntry>>,
+ table: RwLock<HashMap<FdNumber, FdTableEntry>>,
}
impl FdTable {
@@ -163,27 +163,27 @@
FdTable { table: RwLock::new(HashMap::new()) }
}
- pub fn install_fd(&self, file: FileHandle) -> Result<FileDescriptor, Errno> {
+ pub fn install_fd(&self, file: FileHandle) -> Result<FdNumber, Errno> {
let mut table = self.table.write();
- let mut fd = FileDescriptor::from_raw(0);
+ let mut fd = FdNumber::from_raw(0);
while table.contains_key(&fd) {
- fd = FileDescriptor::from_raw(fd.raw() + 1);
+ fd = FdNumber::from_raw(fd.raw() + 1);
}
table.insert(fd, FdTableEntry { file, flags: FdFlags::empty() });
Ok(fd)
}
- pub fn get(&self, fd: FileDescriptor) -> Result<FileHandle, Errno> {
+ pub fn get(&self, fd: FdNumber) -> Result<FileHandle, Errno> {
let table = self.table.read();
table.get(&fd).map(|entry| entry.file.clone()).ok_or_else(|| EBADF)
}
- pub fn get_flags(&self, fd: FileDescriptor) -> Result<FdFlags, Errno> {
+ pub fn get_flags(&self, fd: FdNumber) -> Result<FdFlags, Errno> {
let table = self.table.read();
table.get(&fd).map(|entry| entry.flags).ok_or_else(|| EBADF)
}
- pub fn set_flags(&self, fd: FileDescriptor, flags: FdFlags) -> Result<(), Errno> {
+ pub fn set_flags(&self, fd: FdNumber, flags: FdFlags) -> Result<(), Errno> {
let mut table = self.table.write();
table
.get_mut(&fd)
@@ -211,6 +211,6 @@
assert!(Arc::ptr_eq(&table.get(fd_num).unwrap(), &test_file));
assert!(Arc::ptr_eq(&table.get(fd_num2).unwrap(), &test_file));
- assert_eq!(table.get(FileDescriptor::from_raw(fd_num2.raw() + 1)).map(|_| ()), Err(EBADF));
+ assert_eq!(table.get(FdNumber::from_raw(fd_num2.raw() + 1)).map(|_| ()), Err(EBADF));
}
}
diff --git a/src/proc/bin/starnix/syscall_table.rs b/src/proc/bin/starnix/syscall_table.rs
index ac5420e..4a13a4a 100644
--- a/src/proc/bin/starnix/syscall_table.rs
+++ b/src/proc/bin/starnix/syscall_table.rs
@@ -5,7 +5,7 @@
use paste::paste;
use zerocopy::{AsBytes, FromBytes};
-use crate::fs::FileDescriptor;
+use crate::fs::FdNumber;
use crate::syscalls::*;
use crate::uapi::*;
@@ -50,9 +50,9 @@
}
}
-impl FromSyscallArg for FileDescriptor {
- fn from_arg(arg: u64) -> FileDescriptor {
- FileDescriptor::from_raw(arg as i32)
+impl FromSyscallArg for FdNumber {
+ fn from_arg(arg: u64) -> FdNumber {
+ FdNumber::from_raw(arg as i32)
}
}
trait IntoSyscallArg<T> {
diff --git a/src/proc/bin/starnix/syscalls.rs b/src/proc/bin/starnix/syscalls.rs
index e950e09..f49600a 100644
--- a/src/proc/bin/starnix/syscalls.rs
+++ b/src/proc/bin/starnix/syscalls.rs
@@ -37,7 +37,7 @@
pub fn sys_write(
ctx: &SyscallContext<'_>,
- fd: FileDescriptor,
+ fd: FdNumber,
buffer: UserAddress,
count: usize,
) -> Result<SyscallResult, Errno> {
@@ -47,7 +47,7 @@
pub fn sys_fcntl(
ctx: &SyscallContext<'_>,
- fd: FileDescriptor,
+ fd: FdNumber,
cmd: u32,
arg: u64,
) -> Result<SyscallResult, Errno> {
@@ -81,7 +81,7 @@
pub fn sys_fstat(
ctx: &SyscallContext<'_>,
- fd: FileDescriptor,
+ fd: FdNumber,
buffer: UserRef<stat_t>,
) -> Result<SyscallResult, Errno> {
let file = ctx.task.files.get(fd)?;
@@ -110,7 +110,7 @@
length: usize,
prot: u32,
flags: u32,
- fd: FileDescriptor,
+ fd: FdNumber,
offset: usize,
) -> Result<SyscallResult, Errno> {
// These are the flags that are currently supported.
@@ -260,7 +260,7 @@
pub fn sys_pread64(
ctx: &SyscallContext<'_>,
- fd: FileDescriptor,
+ fd: FdNumber,
buf: UserAddress,
count: usize,
offset: usize,
@@ -272,7 +272,7 @@
pub fn sys_writev(
ctx: &SyscallContext<'_>,
- fd: FileDescriptor,
+ fd: FdNumber,
iovec_addr: UserAddress,
iovec_count: i32,
) -> Result<SyscallResult, Errno> {
@@ -388,7 +388,7 @@
pub fn sys_fstatfs(
ctx: &SyscallContext<'_>,
- _fd: FileDescriptor,
+ _fd: FdNumber,
user_buf: UserRef<statfs>,
) -> Result<SyscallResult, Errno> {
let result = statfs::default();
@@ -634,7 +634,7 @@
pub fn sys_ioctl(
ctx: &SyscallContext<'_>,
- fd: FileDescriptor,
+ fd: FdNumber,
request: u32,
in_addr: UserAddress,
out_addr: UserAddress,
@@ -684,7 +684,7 @@
length.try_into().unwrap(),
PROT_READ | PROT_WRITE,
MAP_ANONYMOUS | MAP_PRIVATE,
- FileDescriptor::from_raw(-1),
+ FdNumber::from_raw(-1),
0,
)
.unwrap()
diff --git a/src/proc/bin/starnix/uapi.rs b/src/proc/bin/starnix/uapi.rs
index 8546da5..9467820 100644
--- a/src/proc/bin/starnix/uapi.rs
+++ b/src/proc/bin/starnix/uapi.rs
@@ -11,7 +11,7 @@
use std::fmt;
use zerocopy::{AsBytes, FromBytes};
-use crate::fs::FileDescriptor;
+use crate::fs::FdNumber;
pub use crate::user_address::*;
#[cfg(target_arch = "x86_64")]
@@ -667,8 +667,8 @@
}
}
-impl From<FileDescriptor> for SyscallResult {
- fn from(value: FileDescriptor) -> Self {
+impl From<FdNumber> for SyscallResult {
+ fn from(value: FdNumber) -> Self {
SyscallResult::Success(value.raw() as u64)
}
}