Struct kernel::ipc::IPC

source · []
pub struct IPC<const NUM_PROCS: u8> { /* private fields */ }
Expand description

The IPC mechanism struct.

Implementations

Trait Implementations

command is how notify() is implemented. Notifying an IPC service is done by setting client_or_svc to 0, and notifying an IPC client is done by setting client_or_svc to 1. In either case, the target_id is the same number as provided in a notify upcall or as returned by allow.

Returns INVAL if the other process doesn’t exist. Initiates a service discovery or notifies a client or service.

command_num
  • 0: Driver check, always returns Ok(())
  • 1: Perform discovery on the package name passed to allow_readonly. Returns the service descriptor if the service is found, otherwise returns an error.
  • 2: Notify a service previously discovered to have the service descriptor in target_id. Returns an error if target_id refers to an invalid service or the notify fails to enqueue.
  • 3: Notify a client with descriptor target_id, typically in response to a previous notify from the client. Returns an error if target_id refers to an invalid client or the notify fails to enqueue.

Request to allocate a capsule’s grant for a specific process. Read more

System call for a process to pass a buffer (a UserspaceReadableProcessBuffer) to the kernel that the kernel can either read or write. The kernel calls this method only after it checks that the entire buffer is within memory the process can both read and write. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.