horn_console

One capability-scoped byte console. No device control, TTY or name lookup.

On this page

Interfaces

ConsoleInterface #

net.nhnn.horn.console, version 1.0, default transport sync, strict

read #

read(maximum: u32) → Result[List[u8, 256], ConsoleError]

Transport: sync, label: 0xa0d5dee677412

write #

write(data: List[u8, 256]) → Result[u32, ConsoleError]

Transport: sync, label: 0x27e5b0bb354b6

size #

size() → Result[ConsoleGeometry, ConsoleError]

Transport: sync, label: 0xbac4ed9acf76

status #

status() → Result[ConsoleStatus, ConsoleError]

Transport: sync, label: 0x75e06a8f76d36

watch #

watch(notification: Option[Cap[sel4.Notification, borrow, ALL]], interests: ConsoleEvents, size_generation: u64) → Result[ConsoleStatus, ConsoleError]

Transport: sync, label: 0x63cfb4dff3a77

Request capabilities
Path Target Transfer Rights
notification? sel4.Notification borrow ALL

Objects

ConsoleObject #

ConsoleObject, transport sync

Implements: ConsoleInterface

Records

ConsoleSize #

Wire size: 8 bytes, alignment: 4, maximum capabilities: 0

Field Type Byte offset
rows u32 0
columns u32 4

ConsoleGeometry #

Wire size: 24 bytes, alignment: 8, maximum capabilities: 0

Field Type Byte offset
size Option[ConsoleSize] 0
generation u64 16

ConsoleStatus #

Wire size: 16 bytes, alignment: 8, maximum capabilities: 0

Field Type Byte offset
events ConsoleEvents 0
size_generation u64 8

Enums

ConsoleError #

Base: u32

VariantValue
Invalid1
WouldBlock2
Closed3
Denied4
Busy5

Flags

ConsoleEvents #

Base: u32

VariantValue
READABLE1
WRITABLE2
SIZE_CHANGED4
CLOSED8