[][src]Module sunrise_libuser::types

Core kernel types.

This module contains all the core types of the libuser. Most objects in this modules are newtypes around Handle.

Structs

ClientPort

The client side of an IPC Port. Allows connecting to an IPC server, providing a session to call remote procedures on.

ClientSession

The client side of an IPC session.

Handle

A Handle is a sort of reference to a Kernel Object. Its underlying representation is that of a u32. Furthermore, an Option is also guaranteed to be represented on a u32, with None represented as 0. This allows handle to be used directly in the syscall functions.

HandleRef

A fake reference to a Handle. Has the same representation as a real Handle, but is bound to the real handle's lifetime.

IRQEvent

A handle on an IRQ event.

MappedSharedMemory

A mapping to a shared memory region.

Pid

Process ID, as returned by IPC.

Process

A Process. Created with create_process syscall, or by calling Process::current().

ReadableEvent

The readable part of an event. The user shall use this end to verify if the event is signaled, and wait for the signaling through wait_synchronization. The user can also use this handle to clear the signaled state through ReadableEvent::clear().

ServerPort

The server side of an IPC Port. Allows listening for connections, providing a session on which to answer remote procedures from.

ServerSession

The server side of an IPC session.

SharedMemory

A handle to memory that may be mapped in multiple processes at the same time.

Thread

A Thread. Created with the create_thread syscall.

WritableEvent

The writable part of an event. The user shall use this end to signal (and wake up threads waiting on the event).