[][src]Module kernel::scheme

Schemes, filesystem handlers

Schemes

A scheme is a primitive for handling filesystem syscalls in Redox. Schemes accept paths from the kernel for open, and file descriptors that they generate are then passed for operations like close, read, write, etc.

The kernel validates paths and file descriptors before they are passed to schemes, also stripping the scheme identifier of paths if necessary.

Modules

debug

debug: - provides access to serial console

event

event: - allows reading of Events which are registered using fevent

initfs

initfs: - a readonly filesystem used for initializing the system

irq

irq: - allows userspace handling of IRQs

itimer

itimer: - support for getitimer and setitimer

memory

memory: - a scheme for accessing physical memory

pipe

pipe: - used internally by the kernel to implement pipe

root

: - allows the creation of userspace schemes, tightly dependent on user

sys

sys: - system information, such as the context list and scheme list

time

time: - allows reading time, setting timeouts and getting events when they are met

user

A wrapper around userspace schemes, tightly dependent on root

Structs

AtomicFileHandle

A mutable holder for T that can safely be shared among threads. Runtime equivalent to using AtomicUsize, just type-safer.

AtomicSchemeId

A mutable holder for T that can safely be shared among threads. Runtime equivalent to using AtomicUsize, just type-safer.

AtomicSchemeNamespace

A mutable holder for T that can safely be shared among threads. Runtime equivalent to using AtomicUsize, just type-safer.

FileHandle
SchemeId
SchemeIter
SchemeList

Scheme list type

SchemeNamespace

Constants

ATOMIC_SCHEMEID_INIT
SCHEME_MAX_SCHEMES

Limit on number of schemes

Functions

schemes

Get the global schemes list, const

schemes_mut

Get the global schemes list, mutable