Expand description
Type-safe bindings for Zircon kernel syscalls.
Modules§
- Prelude containing common utility traits. Designed for use like
use zx::prelude::*;
Macros§
Structs§
- A marker type for the system’s boot timeline which continues running during suspend.
- An object representing a Zircon Bus Transaction Initiator object. See BTI Documentation for details.
- An object representing a Zircon channel.
- A reference to a readable slice of memory for channel writes and calls, analogous to
std::io::IoSlice
but for Zircon channel I/O. ABI-compatible withzx_channel_iovec_t
, guaranteeing the pointed-to bytes are readable using lifetimes. - An object representing a kernel clock, used to track the progress of time. A clock is a one-dimensional affine transformation of the clock monotonic reference timeline which may be atomically adjusted by a maintainer and observed by clients.
- Fine grained details of a
Clock
object. - A one-dimensional affine transformation that maps points from the reference timeline to the clock timeline. See clock transformations.
- Specifies an update to zero or more properties of a clock. See [
Clock::update
] - Builder to specify how zero or more properties of a clock should be updated. See [
Clock::update
]. - An object representing a Zircon ‘debuglog’ object.
- A record from the kernel’s debuglog.
- An object representing a Zircon event object.
- An object representing a Zircon event_pair
- An object representing a Zircon exception object.
- x64-specific exception data.
- Options that may be used with
Task::create_exception_channel
- Information about an exception that occurred in a process.
- An object representing a Zircon fifo.
- A safe wrapper around zx_futex_t, generally called as part of higher-level synchronization primitives.
- Wrapper type for guest physical addresses.
- An object representing a Zircon guest
- Contents of a guest bell packet generated by the kernel. This is a type-safe wrapper for zx_packet_guest_bell_t
- Contents of a guest I/O packet generated by the kernel. This is a type-safe wrapper for zx_packet_guest_io_t
- Contents of a guest memory packet generated by the kernel. This is a type-safe wrapper for zx_packet_guest_memory_t
- Contents of a guest VCPU packet generated by the kernel. This is a type-safe wrapper for zx_packet_guest_vcpu_t
- An object representing a Zircon handle.
- Basic information about a handle.
- Operation to perform on handles during write. ABI-compatible with
zx_handle_disposition_t
. - Information on handles that were read.
- A timestamp from the kernel. Generic over both the timeline and the units it is measured in.
- An object representing a Zircon interrupt.
- Contents of an interrupt packet (one received because of an interrupt bound to this port). This is a type-safe wrapper for zx_packet_interrupt_t.
- An object representing a Zircon iommu
- An object representing a Zircon job.
- Options that may be used by
Job::set_critical
. - Ergonomic wrapper around
zx_info_maps_t
. - A buffer for receiving messages from a channel.
- A buffer for receiving messages from a channel.
- A marker type for the system’s monotonic timeline which pauses during suspend.
- A wrapper around zircon name fields.
- A marker type representing nanoseconds.
- Zircon object types.
- A packet sent through a port. This is a type-safe wrapper for zx_port_packet_t.
- An object representing a Zircon pager.
- Options that may be used when creating a pager.
- Contents of a pager packet generated by the kernel. This is a type-safe wrapper for zx_packet_page_request_t
- An object representing a Zircon Pinned Memory Token. See PMT Documentation for details.
- An object representing a Zircon port.
- Options that may be used when creating a
Port
. - Contents of a power transition packet generated by the kernel. This is a type-safe wrapper for zx_packet_processor_power_level_transition_request_t
- An object representing a Zircon process.
- Options that may be used when creating a
Process
. - An object representing a Zircon profile.
- Object property types for use with [object_get_property()] and [object_set_property].
- Options that may be used with
Thread::raise_exception
- An object representing a Zircon resource.
- Rights associated with a handle.
- Contents of a signal packet (one generated by the kernel). This is a type-safe wrapper for zx_packet_signal_t.
- Signals that can be waited upon.
- An object representing a Zircon socket
- Status type indicating the result of a Fuchsia syscall.
- An object representing a Zircon stream.
- A marker type representing a synthetic timeline defined by a kernel clock object.
- An object representing a Zircon thread.
- A marker type representing system ticks.
- An object representing a Zircon timer, such as the one returned by zx_timer_create.
- Options that may be used when transferring data between VMOs.
- A borrowed value of type
T
. - The default element for fifos, does not support reading or writing. Only used for IPC transfer.
- Contents of a user packet (one sent by
port_queue
). This is a type-safe wrapper for zx_packet_user_t. - An object representing a Zircon virtual memory address region.
- Flags to VMAR routines which are considered safe.
- Flags to all VMAR routines.
- An object representing a Zircon virtual memory object.
- Options that may be used when creating a
Vmo
child. - Flags that may be set when receiving info on a
Vmo
. - VM Object opcodes
- Options that may be used when creating a
Vmo
. - Options for wait_async
- A “wait item” containing a handle reference and information about what signals to wait on, and, on return from
object_wait_many
, which are pending.
Enums§
- Represents the default operand size as specified by the CS descriptor.
- The severity a kernel log message can have.
- The type of an exception observed.
- Handle operation.
- Represents the ZX_POL_ACTION_* constants
- Represents the ZX_POL_* constants
- Represents the ZX_TIMER_SLACK_* constants
- Holds a timer policy or a basic policy set for zx_job_set_policy
- Represents the ZX_JOB_POL_RELATIVE and ZX_JOB_POL_ABSOLUTE constants
- The contents of a
Packet
. - Write disposition to set on a zircon socket with zx_socket_set_disposition.
Traits§
- A trait to get a reference to the underlying handle of an object.
- A trait implemented by all handle-based types.
- A trait implemented by all handles for objects which have a peer.
- A marker trait for times and durations to prevent accidental comparison between different units.
- A marker trait for times to prevent accidental comparison between different timelines.
Functions§
- Mix the given entropy into the kernel CPRNG.
- Draw random bytes from the kernel’s CPRNG to fill
buffer
. This function always fills the buffer. - Draw random bytes from the kernel’s CPRNG to fill the provided buffer. This function always fills the buffer.
- Draw random bytes from the kernel’s CPRNG to fill
buffer
. This function always fills the buffer. - Wait on multiple handles. The success return value is a bool indicating whether one or more of the provided handle references was closed during the wait.
- Convenience re-export of
Status::ok
. - Get number of logical processors on the system.
- Retrieve the system memory page size in bytes.
- Get the amount of physical memory on the system, in bytes.
- Return a version string describing the system (kernel). This string never changes.
Type Aliases§
- A duration on the boot timeline.
- A duration between two system ticks boot timestamps.
- A timestamp from the boot clock. Advances while the system is suspended.
- A timestamp from system ticks on the boot timeline. Advances while the system is suspended.
- A timer that measures its deadlines against the boot clock.
- A duration on the monotonic timeline.
- A duration between two system ticks monotonic timestamps.
- A timestamp from the monontonic clock. Does not advance while the system is suspended.
- A timestamp from system ticks on the monotonic timeline. Does not advance while the system is suspended.
- A timer that measures its deadlines against the monotonic clock.
- A duration from a user-defined clock with arbitrary behavior.
- A timestamp from a user-defined clock with arbitrary behavior.
- A timestamp from system ticks. Has an arbitrary unit that can be measured with
Ticks::per_second()
.