zx/
lib.rs

1// Copyright 2016 The Fuchsia Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5//! Type-safe bindings for Zircon kernel
6//! [syscalls](https://fuchsia.dev/fuchsia-src/reference/syscalls).
7
8// Put this first so subsequently declared modules have access.
9#[macro_use]
10mod macros;
11
12mod bti;
13mod channel;
14mod clock;
15mod clock_update;
16mod counter;
17mod cprng;
18mod debuglog;
19mod event;
20mod eventpair;
21mod exception;
22mod fifo;
23mod futex;
24mod guest;
25mod handle;
26mod info;
27mod interrupt;
28mod iob;
29mod iommu;
30mod job;
31mod name;
32mod pager;
33mod pmt;
34mod port;
35mod process;
36mod profile;
37mod property;
38mod resource;
39mod rights;
40mod signals;
41mod socket;
42mod stream;
43mod system;
44mod task;
45mod thread;
46mod time;
47mod vcpu;
48mod version;
49mod vmar;
50mod vmo;
51mod wait;
52
53pub use self::bti::*;
54pub use self::channel::*;
55pub use self::clock::*;
56pub use self::clock_update::{ClockUpdate, ClockUpdateBuilder};
57pub use self::counter::*;
58pub use self::cprng::*;
59pub use self::debuglog::*;
60pub use self::event::*;
61pub use self::eventpair::*;
62pub use self::exception::*;
63pub use self::fifo::*;
64pub use self::futex::*;
65pub use self::guest::*;
66pub use self::handle::*;
67pub use self::info::*;
68pub use self::interrupt::*;
69pub use self::iob::*;
70pub use self::iommu::*;
71pub use self::job::*;
72pub use self::name::*;
73pub use self::pager::*;
74pub use self::pmt::*;
75pub use self::port::*;
76pub use self::process::*;
77pub use self::profile::*;
78pub use self::property::*;
79pub use self::resource::*;
80pub use self::rights::*;
81pub use self::signals::*;
82pub use self::socket::*;
83pub use self::stream::*;
84pub use self::system::*;
85pub use self::task::*;
86pub use self::thread::*;
87pub use self::time::*;
88pub use self::vcpu::*;
89pub use self::version::*;
90pub use self::vmar::*;
91pub use self::vmo::*;
92pub use self::wait::*;
93pub use zx_status::*;
94
95/// Prelude containing common utility traits.
96/// Designed for use like `use zx::prelude::*;`
97pub mod prelude {
98    pub use crate::{AsHandleRef, HandleBased, Peered};
99}
100
101pub mod sys {
102    pub use zx_sys::*;
103}