Skip to content

Commit 4efc192

Browse files
committed
Adds vnodeop_desc
1 parent bf513d8 commit 4efc192

File tree

5 files changed

+16
-2
lines changed

5 files changed

+16
-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;
12+
use self::vnode::{Vnode, VnodeOp};
1313
use core::ffi::{c_char, c_int};
1414
use core::num::NonZero;
1515
use okf::fd::OpenFlags;
@@ -64,6 +64,7 @@ impl okf::Kernel for Kernel {
6464
type Ucred = Ucred;
6565
type Uio = Uio;
6666
type Vnode = Vnode;
67+
type VnodeOp = VnodeOp;
6768

6869
#[offset(0x419040)]
6970
unsafe fn fget(

kernel-1100/src/vnode.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,9 @@
33
pub struct Vnode {}
44

55
impl okf::vnode::Vnode for Vnode {}
6+
7+
/// Implementation of [`okf::vnode::VnodeOp`] for 11.00.
8+
#[repr(C)]
9+
pub struct VnodeOp {}
10+
11+
impl okf::vnode::VnodeOp for VnodeOp {}

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;
14+
use self::vnode::{Vnode, VnodeOp};
1515
use core::alloc::{GlobalAlloc, Layout};
1616
use core::ffi::{c_char, c_int};
1717
use core::marker::PhantomData;
@@ -72,6 +72,7 @@ pub trait Kernel: MappedKernel {
7272
type Ucred: Ucred;
7373
type Uio: Uio<Self>;
7474
type Vnode: Vnode;
75+
type VnodeOp: VnodeOp;
7576

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

src/vnode/mod.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,6 @@
1+
pub use self::op::*;
2+
3+
mod op;
4+
15
/// Represents `vnode` structure.
26
pub trait Vnode: Sized {}

src/vnode/op.rs

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

0 commit comments

Comments
 (0)