Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/RWTH-OS/eduOS-rs
/ types & classes
Types & classes
80 in github.com/RWTH-OS/eduOS-rs
⨍
Functions
288
◇
Types & classes
80
↓ 5 callers
Class
Hex
src/arch/x86/kernel/irq.rs:705
↓ 1 callers
Class
LockedHeap
A memory allocator that can be registered as default allocator through the #[global_allocator] attribute.
src/mm/buddy.rs:151
↓ 1 callers
Class
TaskId
src/scheduler/task.rs:31
↓ 1 callers
Class
TaskPriority
src/scheduler/task.rs:51
↓ 1 callers
Class
Tss
src/arch/x86/kernel/gdt.rs:41
Class
Adapter
Create a shim which translates a Write to a fmt::Write and saves off I/O errors. instead of discarding them
src/io.rs:87
Class
Aligned
src/arch/x86/mm/mod.rs:162
Enum
AllocatorError
src/mm/buddy.rs:13
Class
Arena
src/lib.rs:44
Enum
BasePageSize
src/arch/x86/mm/paging.rs:198
Class
BootStack
src/arch/x86/mm/mod.rs:22
Class
BuddySystem
src/mm/buddy.rs:19
Class
ComPort
A COM serial port.
src/arch/x86/kernel/serial.rs:6
Class
Console
src/console.rs:9
Enum
DataHandle
src/fs/vfs.rs:156
Class
DisabledPreemption
src/scheduler/mod.rs:102
Enum
Error
src/errno.rs:9
Enum
Error
src/io.rs:8
Class
ExceptionStackFrame
src/arch/x86/kernel/irq.rs:686
Class
File
src/fs/mod.rs:124
Class
FileStatus
Describes information about a file.
src/fd/mod.rs:30
Class
FreeList
src/mm/freelist.rs:43
Class
FreeListEntry
src/mm/freelist.rs:11
Enum
FreeListError
src/mm/freelist.rs:7
Class
Fs
src/fs/vfs.rs:243
Class
GenericStderr
src/fd/stdio.rs:43
Class
GenericStdin
src/fd/stdio.rs:9
Class
GenericStdout
src/fd/stdio.rs:20
Enum
HugePageSize
src/arch/x86/mm/paging.rs:217
Class
IdtEntry
src/arch/x86/kernel/irq.rs:340
Class
InteruptHandler
src/arch/x86/kernel/irq.rs:414
Interface
IoInterface
src/fd/mod.rs:36
Class
IoVec
src/syscall/write.rs:5
Class
Iter
A simple iterator for the linked list
src/mm/linked_list.rs:60
Class
IterMut
A mutable iterator over the linked list
src/mm/linked_list.rs:103
Class
KernelLogger
Data structures to filter kernel messages
src/logging.rs:29
Enum
LargePageSize
src/arch/x86/mm/paging.rs:207
Class
LinkedList
src/mm/linked_list.rs:4
Class
ListNode
Represent a mutable node in `LinkedList`
src/mm/linked_list.rs:81
Enum
LogLevel
src/logging.rs:5
Class
Mutex
A mutual exclusion primitive useful for protecting shared data This mutex will block threads waiting for the lock to become available. The mutex can
src/synch/mutex.rs:37
Class
MutexGuard
A guard to which the protected data can be accessed When the guard falls out of scope it will release the lock.
src/synch/mutex.rs:49
Enum
NodeKind
src/fs/mod.rs:24
Enum
PD
A Page Directory (PD), with numeric level 1 and PT subtables.
src/arch/x86/mm/paging.rs:356
Enum
PDPT
A Page Directory Pointer Table (PDPT), with numeric level 2 and PDT subtables.
src/arch/x86/mm/paging.rs:346
Enum
PML4
The Page Map Level 4 (PML4) table, with numeric level 3 and PDPT subtables.
src/arch/x86/mm/paging.rs:336
Enum
PT
A Page Table (PT), with numeric level 0 and no subtables.
src/arch/x86/mm/paging.rs:366
Class
Page
src/arch/x86/mm/paging.rs:226
Class
PageIter
An iterator to walk through a range of pages of size S.
src/arch/x86/mm/paging.rs:300
Interface
PageSize
A generic interface to support all possible page sizes. This is defined as a subtrait of Copy to enable #[derive(Clone, Copy)] for Page. Currently, d
src/arch/x86/mm/paging.rs:183
Class
PageTable
Representation of any page table (PML4, PDPT, PD, PT) in memory. Parameter L supplies information for Rust's typing system to distinguish between the
src/arch/x86/mm/paging.rs:373
Class
PageTableEntry
src/arch/x86/mm/paging.rs:107
Interface
PageTableLevel
An interface to allow for a generic implementation of struct PageTable for all 4 page tables. Must be implemented by all page tables.
src/arch/x86/mm/paging.rs:321
Interface
PageTableLevelWithSubtables
An interface for page tables with sub page tables (all except PT). Having both PageTableLevel and PageTableLevelWithSubtables leverages Rust's typing
src/arch/x86/mm/paging.rs:331
Interface
PageTableMethods
A trait defining methods every page table has to implement. This additional trait is necessary to make use of Rust's specialization feature and provid
src/arch/x86/mm/paging.rs:384
Class
PriorityTaskQueue
Realize a priority queue for tasks
src/scheduler/task.rs:75
Class
RamHandle
src/fs/initrd.rs:103
Class
RawSpinlock
A [fair] [ticket lock]. [fair]: https://en.wikipedia.org/wiki/Unbounded_nondeterminism [ticket lock]: https://en.wikipedia.org/wiki/Ticket_lock
src/synch/spinlock.rs:9
Class
RawSpinlockIrqSave
A [fair] irqsave [ticket lock]. [fair]: https://en.wikipedia.org/wiki/Unbounded_nondeterminism [ticket lock]: https://en.wikipedia.org/wiki/Ticket_lo
src/synch/spinlock.rs:87
Interface
Read
The Read trait allows for reading bytes from a source. The Read trait is derived from Rust's std library.
src/io.rs:33
Class
RomHandle
src/fs/initrd.rs:13
Class
Scheduler
src/scheduler/scheduler.rs:19
Enum
SeekFrom
src/fd/mod.rs:14
Interface
Stack
src/scheduler/task.rs:132
Class
State
src/arch/x86/kernel/task.rs:13
Class
SyscallTable
src/syscall/mod.rs:37
Class
Task
src/scheduler/task.rs:181
Interface
TaskFrame
src/scheduler/task.rs:235
Class
TaskStack
src/scheduler/task.rs:141
Enum
TaskStatus
src/scheduler/task.rs:20
Enum
Type
src/arch/x86/kernel/irq.rs:356
Interface
Vfs
The trait `Vfs` specifies all operation on the virtual file systems.
src/fs/mod.rs:63
Class
VfsDirectory
src/fs/vfs.rs:20
Class
VfsFile
src/fs/vfs.rs:162
Interface
VfsNode
VfsNode represents an internal node of the virtual file system.
src/fs/mod.rs:32
Interface
VfsNodeDirectory
VfsNodeDirectory represents a directory node of the virtual file system.
src/fs/mod.rs:44
Interface
VfsNodeFile
VfsNodeFile represents a file node of the virtual file system.
src/fs/mod.rs:38
Class
VgaCharacter
src/arch/x86/kernel/vga.rs:20
Class
VgaScreen
src/arch/x86/kernel/vga.rs:34
Interface
Write
The Write trait allows for reading bytes from a source. The Write trait is derived from Rust's std library.
src/io.rs:65