Skip to content

Commit

Permalink
calls: Update params in mount()
Browse files Browse the repository at this point in the history
  • Loading branch information
XuShaohua committed Aug 3, 2024
1 parent 315f40e commit 08ec319
Show file tree
Hide file tree
Showing 14 changed files with 83 additions and 61 deletions.
2 changes: 1 addition & 1 deletion examples/mount.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ fn main() {
let src_dir = "/etc";
let fs_type = "";
let mount_flags = nc::MS_BIND | nc::MS_RDONLY;
let data = 0;
let data = std::ptr::null_mut();
let ret = unsafe { nc::mount(src_dir, target_dir, fs_type, mount_flags, data) };
assert!(ret.is_ok());
let flags = 0;
Expand Down
10 changes: 6 additions & 4 deletions src/calls/mount_linux.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
/// let src_dir = "/etc";
/// let fs_type = "";
/// let mount_flags = nc::MS_BIND | nc::MS_RDONLY;
/// let data = 0;
/// let data = std::ptr::null_mut();
/// let ret = unsafe { nc::mount(src_dir, target_dir, fs_type, mount_flags, data) };
/// assert!(ret.is_err());
/// assert_eq!(ret, Err(nc::EPERM));
Expand All @@ -22,22 +22,24 @@ pub unsafe fn mount<P: AsRef<Path>>(
dev_name: P,
dir_name: P,
fs_type: P,
flags: usize,
data: usize,
flags: u32,
data_page: *mut core::ffi::c_void,
) -> Result<(), Errno> {
let dev_name = CString::new(dev_name.as_ref());
let dev_name_ptr = dev_name.as_ptr() as usize;
let dir_name = CString::new(dir_name.as_ref());
let dir_name_ptr = dir_name.as_ptr() as usize;
let fs_type = CString::new(fs_type.as_ref());
let fs_type_ptr = fs_type.as_ptr() as usize;
let flags = flags as usize;
let data_page = data_page as usize;
syscall5(
SYS_MOUNT,
dev_name_ptr,
dir_name_ptr,
fs_type_ptr,
flags,
data,
data_page,
)
.map(drop)
}
2 changes: 1 addition & 1 deletion src/calls/umount.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
/// let src_dir = "/etc";
/// let fs_type = "";
/// let mount_flags = nc::MS_BIND | nc::MS_RDONLY;
/// let data = 0;
/// let data = std::ptr::null_mut();
/// let ret = unsafe { nc::mount(src_dir, target_dir, fs_type, mount_flags, data) };
/// assert!(ret.is_err());
/// assert_eq!(ret, Err(nc::EPERM));
Expand Down
2 changes: 1 addition & 1 deletion src/calls/umount2.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
/// let src_dir = "/etc";
/// let fs_type = "";
/// let mount_flags = nc::MS_BIND | nc::MS_RDONLY;
/// let data = 0;
/// let data = std::ptr::null_mut();
/// let ret = unsafe { nc::mount(src_dir, target_dir, fs_type, mount_flags, data) };
/// assert!(ret.is_err());
/// assert_eq!(ret, Err(nc::EPERM));
Expand Down
12 changes: 7 additions & 5 deletions src/platform/linux-aarch64/call.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4006,7 +4006,7 @@ pub unsafe fn mmap(
/// let src_dir = "/etc";
/// let fs_type = "";
/// let mount_flags = nc::MS_BIND | nc::MS_RDONLY;
/// let data = 0;
/// let data = std::ptr::null_mut();
/// let ret = unsafe { nc::mount(src_dir, target_dir, fs_type, mount_flags, data) };
/// assert!(ret.is_err());
/// assert_eq!(ret, Err(nc::EPERM));
Expand All @@ -4018,22 +4018,24 @@ pub unsafe fn mount<P: AsRef<Path>>(
dev_name: P,
dir_name: P,
fs_type: P,
flags: usize,
data: usize,
flags: u32,
data_page: *mut core::ffi::c_void,
) -> Result<(), Errno> {
let dev_name = CString::new(dev_name.as_ref());
let dev_name_ptr = dev_name.as_ptr() as usize;
let dir_name = CString::new(dir_name.as_ref());
let dir_name_ptr = dir_name.as_ptr() as usize;
let fs_type = CString::new(fs_type.as_ref());
let fs_type_ptr = fs_type.as_ptr() as usize;
let flags = flags as usize;
let data_page = data_page as usize;
syscall5(
SYS_MOUNT,
dev_name_ptr,
dir_name_ptr,
fs_type_ptr,
flags,
data,
data_page,
)
.map(drop)
}
Expand Down Expand Up @@ -8722,7 +8724,7 @@ pub unsafe fn umask(mode: mode_t) -> Result<mode_t, Errno> {
/// let src_dir = "/etc";
/// let fs_type = "";
/// let mount_flags = nc::MS_BIND | nc::MS_RDONLY;
/// let data = 0;
/// let data = std::ptr::null_mut();
/// let ret = unsafe { nc::mount(src_dir, target_dir, fs_type, mount_flags, data) };
/// assert!(ret.is_err());
/// assert_eq!(ret, Err(nc::EPERM));
Expand Down
12 changes: 7 additions & 5 deletions src/platform/linux-arm/call.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4568,7 +4568,7 @@ pub unsafe fn mmap2(
/// let src_dir = "/etc";
/// let fs_type = "";
/// let mount_flags = nc::MS_BIND | nc::MS_RDONLY;
/// let data = 0;
/// let data = std::ptr::null_mut();
/// let ret = unsafe { nc::mount(src_dir, target_dir, fs_type, mount_flags, data) };
/// assert!(ret.is_err());
/// assert_eq!(ret, Err(nc::EPERM));
Expand All @@ -4580,22 +4580,24 @@ pub unsafe fn mount<P: AsRef<Path>>(
dev_name: P,
dir_name: P,
fs_type: P,
flags: usize,
data: usize,
flags: u32,
data_page: *mut core::ffi::c_void,
) -> Result<(), Errno> {
let dev_name = CString::new(dev_name.as_ref());
let dev_name_ptr = dev_name.as_ptr() as usize;
let dir_name = CString::new(dir_name.as_ref());
let dir_name_ptr = dir_name.as_ptr() as usize;
let fs_type = CString::new(fs_type.as_ref());
let fs_type_ptr = fs_type.as_ptr() as usize;
let flags = flags as usize;
let data_page = data_page as usize;
syscall5(
SYS_MOUNT,
dev_name_ptr,
dir_name_ptr,
fs_type_ptr,
flags,
data,
data_page,
)
.map(drop)
}
Expand Down Expand Up @@ -9776,7 +9778,7 @@ pub unsafe fn umask(mode: mode_t) -> Result<mode_t, Errno> {
/// let src_dir = "/etc";
/// let fs_type = "";
/// let mount_flags = nc::MS_BIND | nc::MS_RDONLY;
/// let data = 0;
/// let data = std::ptr::null_mut();
/// let ret = unsafe { nc::mount(src_dir, target_dir, fs_type, mount_flags, data) };
/// assert!(ret.is_err());
/// assert_eq!(ret, Err(nc::EPERM));
Expand Down
12 changes: 7 additions & 5 deletions src/platform/linux-loongarch64/call.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3549,7 +3549,7 @@ pub unsafe fn mmap(
/// let src_dir = "/etc";
/// let fs_type = "";
/// let mount_flags = nc::MS_BIND | nc::MS_RDONLY;
/// let data = 0;
/// let data = std::ptr::null_mut();
/// let ret = unsafe { nc::mount(src_dir, target_dir, fs_type, mount_flags, data) };
/// assert!(ret.is_err());
/// assert_eq!(ret, Err(nc::EPERM));
Expand All @@ -3561,22 +3561,24 @@ pub unsafe fn mount<P: AsRef<Path>>(
dev_name: P,
dir_name: P,
fs_type: P,
flags: usize,
data: usize,
flags: u32,
data_page: *mut core::ffi::c_void,
) -> Result<(), Errno> {
let dev_name = CString::new(dev_name.as_ref());
let dev_name_ptr = dev_name.as_ptr() as usize;
let dir_name = CString::new(dir_name.as_ref());
let dir_name_ptr = dir_name.as_ptr() as usize;
let fs_type = CString::new(fs_type.as_ref());
let fs_type_ptr = fs_type.as_ptr() as usize;
let flags = flags as usize;
let data_page = data_page as usize;
syscall5(
SYS_MOUNT,
dev_name_ptr,
dir_name_ptr,
fs_type_ptr,
flags,
data,
data_page,
)
.map(drop)
}
Expand Down Expand Up @@ -7949,7 +7951,7 @@ pub unsafe fn umask(mode: mode_t) -> Result<mode_t, Errno> {
/// let src_dir = "/etc";
/// let fs_type = "";
/// let mount_flags = nc::MS_BIND | nc::MS_RDONLY;
/// let data = 0;
/// let data = std::ptr::null_mut();
/// let ret = unsafe { nc::mount(src_dir, target_dir, fs_type, mount_flags, data) };
/// assert!(ret.is_err());
/// assert_eq!(ret, Err(nc::EPERM));
Expand Down
14 changes: 8 additions & 6 deletions src/platform/linux-mips/call.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4740,7 +4740,7 @@ pub unsafe fn mmap2(
/// let src_dir = "/etc";
/// let fs_type = "";
/// let mount_flags = nc::MS_BIND | nc::MS_RDONLY;
/// let data = 0;
/// let data = std::ptr::null_mut();
/// let ret = unsafe { nc::mount(src_dir, target_dir, fs_type, mount_flags, data) };
/// assert!(ret.is_err());
/// assert_eq!(ret, Err(nc::EPERM));
Expand All @@ -4752,22 +4752,24 @@ pub unsafe fn mount<P: AsRef<Path>>(
dev_name: P,
dir_name: P,
fs_type: P,
flags: usize,
data: usize,
flags: u32,
data_page: *mut core::ffi::c_void,
) -> Result<(), Errno> {
let dev_name = CString::new(dev_name.as_ref());
let dev_name_ptr = dev_name.as_ptr() as usize;
let dir_name = CString::new(dir_name.as_ref());
let dir_name_ptr = dir_name.as_ptr() as usize;
let fs_type = CString::new(fs_type.as_ref());
let fs_type_ptr = fs_type.as_ptr() as usize;
let flags = flags as usize;
let data_page = data_page as usize;
syscall5(
SYS_MOUNT,
dev_name_ptr,
dir_name_ptr,
fs_type_ptr,
flags,
data,
data_page,
)
.map(drop)
}
Expand Down Expand Up @@ -9879,7 +9881,7 @@ pub unsafe fn umask(mode: mode_t) -> Result<mode_t, Errno> {
/// let src_dir = "/etc";
/// let fs_type = "";
/// let mount_flags = nc::MS_BIND | nc::MS_RDONLY;
/// let data = 0;
/// let data = std::ptr::null_mut();
/// let ret = unsafe { nc::mount(src_dir, target_dir, fs_type, mount_flags, data) };
/// assert!(ret.is_err());
/// assert_eq!(ret, Err(nc::EPERM));
Expand Down Expand Up @@ -9908,7 +9910,7 @@ pub unsafe fn umount<P: AsRef<Path>>(name: P) -> Result<(), Errno> {
/// let src_dir = "/etc";
/// let fs_type = "";
/// let mount_flags = nc::MS_BIND | nc::MS_RDONLY;
/// let data = 0;
/// let data = std::ptr::null_mut();
/// let ret = unsafe { nc::mount(src_dir, target_dir, fs_type, mount_flags, data) };
/// assert!(ret.is_err());
/// assert_eq!(ret, Err(nc::EPERM));
Expand Down
12 changes: 7 additions & 5 deletions src/platform/linux-mips64/call.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4478,7 +4478,7 @@ pub unsafe fn mmap(
/// let src_dir = "/etc";
/// let fs_type = "";
/// let mount_flags = nc::MS_BIND | nc::MS_RDONLY;
/// let data = 0;
/// let data = std::ptr::null_mut();
/// let ret = unsafe { nc::mount(src_dir, target_dir, fs_type, mount_flags, data) };
/// assert!(ret.is_err());
/// assert_eq!(ret, Err(nc::EPERM));
Expand All @@ -4490,22 +4490,24 @@ pub unsafe fn mount<P: AsRef<Path>>(
dev_name: P,
dir_name: P,
fs_type: P,
flags: usize,
data: usize,
flags: u32,
data_page: *mut core::ffi::c_void,
) -> Result<(), Errno> {
let dev_name = CString::new(dev_name.as_ref());
let dev_name_ptr = dev_name.as_ptr() as usize;
let dir_name = CString::new(dir_name.as_ref());
let dir_name_ptr = dir_name.as_ptr() as usize;
let fs_type = CString::new(fs_type.as_ref());
let fs_type_ptr = fs_type.as_ptr() as usize;
let flags = flags as usize;
let data_page = data_page as usize;
syscall5(
SYS_MOUNT,
dev_name_ptr,
dir_name_ptr,
fs_type_ptr,
flags,
data,
data_page,
)
.map(drop)
}
Expand Down Expand Up @@ -9461,7 +9463,7 @@ pub unsafe fn umask(mode: mode_t) -> Result<mode_t, Errno> {
/// let src_dir = "/etc";
/// let fs_type = "";
/// let mount_flags = nc::MS_BIND | nc::MS_RDONLY;
/// let data = 0;
/// let data = std::ptr::null_mut();
/// let ret = unsafe { nc::mount(src_dir, target_dir, fs_type, mount_flags, data) };
/// assert!(ret.is_err());
/// assert_eq!(ret, Err(nc::EPERM));
Expand Down
14 changes: 8 additions & 6 deletions src/platform/linux-ppc64/call.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4586,7 +4586,7 @@ pub unsafe fn mmap(
/// let src_dir = "/etc";
/// let fs_type = "";
/// let mount_flags = nc::MS_BIND | nc::MS_RDONLY;
/// let data = 0;
/// let data = std::ptr::null_mut();
/// let ret = unsafe { nc::mount(src_dir, target_dir, fs_type, mount_flags, data) };
/// assert!(ret.is_err());
/// assert_eq!(ret, Err(nc::EPERM));
Expand All @@ -4598,22 +4598,24 @@ pub unsafe fn mount<P: AsRef<Path>>(
dev_name: P,
dir_name: P,
fs_type: P,
flags: usize,
data: usize,
flags: u32,
data_page: *mut core::ffi::c_void,
) -> Result<(), Errno> {
let dev_name = CString::new(dev_name.as_ref());
let dev_name_ptr = dev_name.as_ptr() as usize;
let dir_name = CString::new(dir_name.as_ref());
let dir_name_ptr = dir_name.as_ptr() as usize;
let fs_type = CString::new(fs_type.as_ref());
let fs_type_ptr = fs_type.as_ptr() as usize;
let flags = flags as usize;
let data_page = data_page as usize;
syscall5(
SYS_MOUNT,
dev_name_ptr,
dir_name_ptr,
fs_type_ptr,
flags,
data,
data_page,
)
.map(drop)
}
Expand Down Expand Up @@ -9798,7 +9800,7 @@ pub unsafe fn umask(mode: mode_t) -> Result<mode_t, Errno> {
/// let src_dir = "/etc";
/// let fs_type = "";
/// let mount_flags = nc::MS_BIND | nc::MS_RDONLY;
/// let data = 0;
/// let data = std::ptr::null_mut();
/// let ret = unsafe { nc::mount(src_dir, target_dir, fs_type, mount_flags, data) };
/// assert!(ret.is_err());
/// assert_eq!(ret, Err(nc::EPERM));
Expand Down Expand Up @@ -9827,7 +9829,7 @@ pub unsafe fn umount<P: AsRef<Path>>(name: P) -> Result<(), Errno> {
/// let src_dir = "/etc";
/// let fs_type = "";
/// let mount_flags = nc::MS_BIND | nc::MS_RDONLY;
/// let data = 0;
/// let data = std::ptr::null_mut();
/// let ret = unsafe { nc::mount(src_dir, target_dir, fs_type, mount_flags, data) };
/// assert!(ret.is_err());
/// assert_eq!(ret, Err(nc::EPERM));
Expand Down
Loading

0 comments on commit 08ec319

Please sign in to comment.