Expand description
Shared Application Binary Interface helpers for Selium host ↔ guest calls.
Re-exports§
pub use hostcalls::*;
Modules§
- hostcalls
- Canonical catalogue of hostcall symbols shared between host and guest.
- mailbox
- Shared constants describing the guest↔host waker mailbox layout.
Macros§
- hostcall_
contract - Expand to the typed hostcall descriptor for the given identifier.
- hostcall_
name - Expand to the canonical hostcall symbol name for the given identifier.
Structs§
- AbiSignature
- Description of a guest entrypoint’s parameters and results.
- AbiSignature
Resolver - The resolver for an archived
AbiSignature - Archived
AbiSignature - An archived
AbiSignature - Archived
Channel Create - An archived
ChannelCreate - Archived
Dependency Id - An archived
DependencyId - Archived
Entrypoint Invocation - An archived
EntrypointInvocation - Archived
IoFrame - An archived
IoFrame - Archived
IoRead - An archived
IoRead - Archived
IoWrite - An archived
IoWrite - Archived
NetAccept - An archived
NetAccept - Archived
NetAccept Reply - An archived
NetAcceptReply - Archived
NetConnect - An archived
NetConnect - Archived
NetConnect Reply - An archived
NetConnectReply - Archived
NetCreate Listener - An archived
NetCreateListener - Archived
NetCreate Listener Reply - An archived
NetCreateListenerReply - Archived
NetTls Client Config - An archived
NetTlsClientConfig - Archived
NetTls Config Reply - An archived
NetTlsConfigReply - Archived
NetTls Server Config - An archived
NetTlsServerConfig - Archived
Process LogLookup - An archived
ProcessLogLookup - Archived
Process LogRegistration - An archived
ProcessLogRegistration - Archived
Process Start - An archived
ProcessStart - Archived
Session Create - An archived
SessionCreate - Archived
Session Entitlement - An archived
SessionEntitlement - Archived
Session Remove - An archived
SessionRemove - Archived
Session Resource - An archived
SessionResource - Archived
Singleton Lookup - An archived
SingletonLookup - Archived
Singleton Register - An archived
SingletonRegister - Archived
Time Now - An archived
TimeNow - Archived
Time Sleep - An archived
TimeSleep - Archived
TlsClient Bundle - An archived
TlsClientBundle - Archived
TlsServer Bundle - An archived
TlsServerBundle - Call
Plan - Planned argument + buffer layout suitable for host execution.
- Capability
Decode Error - Error produced when decoding a capability identifier fails.
- Channel
Create - Request to create a new channel.
- Channel
Create Resolver - The resolver for an archived
ChannelCreate - Dependency
Id - Stable identifier for a singleton dependency.
- Dependency
IdResolver - The resolver for an archived
DependencyId - Entrypoint
Invocation - Invocation of a process entrypoint.
- Entrypoint
Invocation Resolver - The resolver for an archived
EntrypointInvocation - IoFrame
- Response carrying an attributed frame.
- IoFrame
Resolver - The resolver for an archived
IoFrame - IoRead
- Request to read data from a reader.
- IoRead
Resolver - The resolver for an archived
IoRead - IoWrite
- Request to write data to a writer.
- IoWrite
Resolver - The resolver for an archived
IoWrite - Memory
Write - Host-side write required to materialise a buffer value.
- NetAccept
- Request to accept the next inbound connection on a listener.
- NetAccept
Reply - Reply containing guest-visible handles for an accepted connection.
- NetAccept
Reply Resolver - The resolver for an archived
NetAcceptReply - NetAccept
Resolver - The resolver for an archived
NetAccept - NetConnect
- Arguments for connecting to a remote endpoint.
- NetConnect
Reply - Reply containing guest-visible handles for a connected session.
- NetConnect
Reply Resolver - The resolver for an archived
NetConnectReply - NetConnect
Resolver - The resolver for an archived
NetConnect - NetCreate
Listener - Arguments for creating a network listener.
- NetCreate
Listener Reply - Reply containing guest-visible handles for a created listener.
- NetCreate
Listener Reply Resolver - The resolver for an archived
NetCreateListenerReply - NetCreate
Listener Resolver - The resolver for an archived
NetCreateListener - NetTls
Client Config - Arguments for creating a client-side TLS configuration handle.
- NetTls
Client Config Resolver - The resolver for an archived
NetTlsClientConfig - NetTls
Config Reply - Reply containing a TLS configuration handle.
- NetTls
Config Reply Resolver - The resolver for an archived
NetTlsConfigReply - NetTls
Server Config - Arguments for creating a server-side TLS configuration handle.
- NetTls
Server Config Resolver - The resolver for an archived
NetTlsServerConfig - Process
LogLookup - Request the logging channel for a running process.
- Process
LogLookup Resolver - The resolver for an archived
ProcessLogLookup - Process
LogRegistration - Register a process’s logging channel with the host.
- Process
LogRegistration Resolver - The resolver for an archived
ProcessLogRegistration - Process
Start - Request to start a new process instance.
- Process
Start Resolver - The resolver for an archived
ProcessStart - Session
Create - Request to create a new session.
- Session
Create Resolver - The resolver for an archived
SessionCreate - Session
Entitlement - Request to add or remove entitlements from a session.
- Session
Entitlement Resolver - The resolver for an archived
SessionEntitlement - Session
Remove - Request to remove a session.
- Session
Remove Resolver - The resolver for an archived
SessionRemove - Session
Resource - Request to attach or detach a resource from a session entitlement.
- Session
Resource Resolver - The resolver for an archived
SessionResource - Singleton
Lookup - Payload used to look up a singleton dependency from the host registry.
- Singleton
Lookup Resolver - The resolver for an archived
SingletonLookup - Singleton
Register - Payload used to register a singleton dependency in the host registry.
- Singleton
Register Resolver - The resolver for an archived
SingletonRegister - TimeNow
- Snapshot of the host clock values.
- Time
NowResolver - The resolver for an archived
TimeNow - Time
Sleep - Request to sleep for a duration in milliseconds.
- Time
Sleep Resolver - The resolver for an archived
TimeSleep - TlsClient
Bundle - TLS material supplied by a guest for client connections.
- TlsClient
Bundle Resolver - The resolver for an archived
TlsClientBundle - TlsServer
Bundle - TLS material supplied by a guest for server listeners.
- TlsServer
Bundle Resolver - The resolver for an archived
TlsServerBundle
Enums§
- AbiParam
- Logical parameter kinds supported by the ABI.
- AbiParam
Resolver - The resolver for an archived
AbiParam - AbiScalar
Type - Scalar kinds that can be part of an ABI signature.
- AbiScalar
Type Resolver - The resolver for an archived
AbiScalarType - AbiScalar
Value - Scalar value kinds supported by the ABI.
- AbiScalar
Value Resolver - The resolver for an archived
AbiScalarValue - AbiValue
- Values supplied for a call.
- AbiValue
Resolver - The resolver for an archived
AbiValue - Archived
AbiParam - An archived
AbiParam - Archived
AbiScalar Type - An archived
AbiScalarType - Archived
AbiScalar Value - An archived
AbiScalarValue - Archived
AbiValue - An archived
AbiValue - Archived
Capability - An archived
Capability - Archived
Channel Backpressure - An archived
ChannelBackpressure - Archived
Entrypoint Arg - An archived
EntrypointArg - Archived
NetProtocol - An archived
NetProtocol - Call
Plan Error - Errors raised when a call plan cannot be created.
- Capability
- Kernel capability identifiers shared between host and guest.
- Capability
Resolver - The resolver for an archived
Capability - Channel
Backpressure - Backpressure behaviour for channel writers.
- Channel
Backpressure Resolver - The resolver for an archived
ChannelBackpressure - Driver
Poll Result - Decoded driver poll result.
- Entrypoint
Arg - Argument supplied to a process entrypoint.
- Entrypoint
ArgResolver - The resolver for an archived
EntrypointArg - NetProtocol
- Network transport protocols supported by the ABI.
- NetProtocol
Resolver - The resolver for an archived
NetProtocol - Rkyv
Error - Errors returned when serialising or deserialising rkyv payloads.
Constants§
- DEFAULT_
BUFFER_ BASE - Default offset used by
CallPlanwhen laying out transient buffers. - DRIVER_
ERROR_ MESSAGE_ CODE - Error code indicating the payload buffer contains a driver error string.
- DRIVER_
RESULT_ PENDING - Word signalling the host is still processing the driver future.
- DRIVER_
RESULT_ READY_ MAX - Maximum payload length representable in a driver poll result word.
- WORD_
SIZE - Size, in bytes, of a guest machine word.
Traits§
- Rkyv
Encode - Trait for values that can be encoded using Selium’s rkyv settings.
Functions§
- decode_
driver_ error_ message - Decode a driver error message payload written by the kernel.
- decode_
rkyv - Decode a value from rkyv bytes using Selium’s settings.
- driver_
decode_ result - driver_
encode_ error - driver_
encode_ ready - encode_
driver_ error_ message - Encode a human-readable driver error message for guest consumption.
- encode_
rkyv - Encode a value into rkyv bytes using Selium’s settings.
Type Aliases§
- Guest
Atomic Uint - Guest pointer-sized atomic unsigned integer.
- Guest
Int - Guest pointer-sized signed integer.
- Guest
Resource Id - Guest-facing resource identifiers.
- Guest
Uint - Guest pointer-sized unsigned integer.