Skip to content

Commit 921db80

Browse files
committed
Adds vop_unlock_args
1 parent 9615074 commit 921db80

File tree

4 files changed

+19
-2
lines changed

4 files changed

+19
-2
lines changed

kernel-1100/src/lib.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ use self::socket::Socket;
99
use self::thread::Thread;
1010
use self::ucred::Ucred;
1111
use self::uio::Uio;
12-
use self::vnode::{Vnode, VnodeOp};
12+
use self::vnode::{Vnode, VnodeOp, VopUnlock};
1313
use core::ffi::{c_char, c_int};
1414
use core::num::NonZero;
1515
use okf::fd::OpenFlags;
@@ -67,6 +67,7 @@ impl okf::Kernel for Kernel {
6767
type Uio = Uio;
6868
type Vnode = Vnode;
6969
type VnodeOp = VnodeOp;
70+
type VopUnlock = VopUnlock;
7071

7172
#[offset(0x419040)]
7273
unsafe fn fget(

kernel-1100/src/vnode.rs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
use core::ffi::c_int;
2+
13
/// Implementation of [`okf::vnode::Vnode`] for 11.00.
24
#[repr(C)]
35
pub struct Vnode {}
@@ -9,3 +11,13 @@ impl okf::vnode::Vnode for Vnode {}
911
pub struct VnodeOp {}
1012

1113
impl okf::vnode::VnodeOp for VnodeOp {}
14+
15+
/// Implementation of [`okf::vnode::VopUnlock`] for 11.00.
16+
#[repr(C)]
17+
pub struct VopUnlock {
18+
desc: *mut VnodeOp,
19+
vp: *mut Vnode,
20+
flags: c_int,
21+
}
22+
23+
impl okf::vnode::VopUnlock for VopUnlock {}

src/lib.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ use self::socket::{SockAddr, Socket};
1111
use self::thread::Thread;
1212
use self::ucred::Ucred;
1313
use self::uio::{Uio, UioSeg};
14-
use self::vnode::{Vnode, VnodeOp};
14+
use self::vnode::{Vnode, VnodeOp, VopUnlock};
1515
use core::alloc::{GlobalAlloc, Layout};
1616
use core::ffi::{c_char, c_int};
1717
use core::marker::PhantomData;
@@ -74,6 +74,7 @@ pub trait Kernel: MappedKernel {
7474
type Uio: Uio<Self>;
7575
type Vnode: Vnode;
7676
type VnodeOp: VnodeOp;
77+
type VopUnlock: VopUnlock;
7778

7879
fn var<O: StaticOff>(self, off: O) -> O::Ops {
7980
let value = unsafe { self.addr().add(off.value()) };

src/vnode/op.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,5 @@
11
/// Represents `vnodeop_desc` structure.
22
pub trait VnodeOp: Sized {}
3+
4+
/// Represents `vop_unlock_args` structure.
5+
pub trait VopUnlock: Sized {}

0 commit comments

Comments
 (0)