1#[cfg(target_os = "fuchsia")]
6mod zircon;
7
8#[cfg(target_os = "fuchsia")]
9pub use zircon::*;
10
11#[cfg(not(target_os = "fuchsia"))]
12mod emulated;
13
14#[cfg(not(target_os = "fuchsia"))]
15pub use emulated::*;
16
17#[macro_export]
26macro_rules! invoke_for_handle_types {
27 ($x:ident) => {
28 $x! {Process, "Process", PROCESS, ZX_OBJ_TYPE_PROCESS, FuchsiaOnly}
29 $x! {Thread, "Thread", THREAD, ZX_OBJ_TYPE_THREAD, FuchsiaOnly}
30 $x! {Vmo, "Vmo", VMO, ZX_OBJ_TYPE_VMO, FuchsiaOnly}
31 $x! {Channel, "Channel", CHANNEL, ZX_OBJ_TYPE_CHANNEL, Everywhere}
32 $x! {Event, "Event", EVENT, ZX_OBJ_TYPE_EVENT, Everywhere}
33 $x! {Port, "Port", PORT, ZX_OBJ_TYPE_PORT, FuchsiaOnly}
34 $x! {Interrupt, "Interrupt", INTERRUPT, ZX_OBJ_TYPE_INTERRUPT, FuchsiaOnly}
35 $x! {DebugLog, "Debug Log", DEBUGLOG, ZX_OBJ_TYPE_DEBUGLOG, FuchsiaOnly}
36 $x! {Socket, "Socket", SOCKET, ZX_OBJ_TYPE_SOCKET, Everywhere}
37 $x! {Resource, "Resource", RESOURCE, ZX_OBJ_TYPE_RESOURCE, FuchsiaOnly}
38 $x! {EventPair, "Event Pair", EVENTPAIR, ZX_OBJ_TYPE_EVENTPAIR, Everywhere}
39 $x! {Job, "Job", JOB, ZX_OBJ_TYPE_JOB, FuchsiaOnly}
40 $x! {Vmar, "VMAR", VMAR, ZX_OBJ_TYPE_VMAR, FuchsiaOnly}
41 $x! {Fifo, "FIFO", FIFO, ZX_OBJ_TYPE_FIFO, FuchsiaOnly}
42 $x! {Guest, "Guest", GUEST, ZX_OBJ_TYPE_GUEST, FuchsiaOnly}
43 $x! {Vcpu, "VCPU", VCPU, ZX_OBJ_TYPE_VCPU, FuchsiaOnly}
44 $x! {Timer, "Timer", TIMER, ZX_OBJ_TYPE_TIMER, FuchsiaOnly}
45 $x! {Iob, "Iobuffer", IOB, ZX_OBJ_TYPE_IOB, FuchsiaOnly}
46 $x! {Iommu, "IOMMU", IOMMU, ZX_OBJ_TYPE_IOMMU, Stub}
47 $x! {Bti, "BTI", BTI, ZX_OBJ_TYPE_BTI, Stub}
48 $x! {Profile, "Profile", PROFILE, ZX_OBJ_TYPE_PROFILE, FuchsiaOnly}
49 $x! {Pmt, "PMT", PMT, ZX_OBJ_TYPE_PMT, Stub}
50 $x! {SuspendToken, "Suspend Token", SUSPEND_TOKEN, ZX_OBJ_TYPE_SUSPEND_TOKEN, Stub}
51 $x! {Pager, "Pager", PAGER, ZX_OBJ_TYPE_PAGER, Stub}
52 $x! {Exception, "Exception", EXCEPTION, ZX_OBJ_TYPE_EXCEPTION, Stub}
53 $x! {Clock, "Clock", CLOCK, ZX_OBJ_TYPE_CLOCK, FuchsiaOnly}
54 $x! {Stream, "Stream", STREAM, ZX_OBJ_TYPE_STREAM, FuchsiaOnly}
55 $x! {Msi, "MSI", MSI, ZX_OBJ_TYPE_MSI, Stub}
56 $x! {PciDevice, "PCI Device", PCI_DEVICE, ZX_OBJ_TYPE_PCI_DEVICE, Stub}
57 $x! {Counter, "Counter", COUNTER, ZX_OBJ_TYPE_COUNTER, FuchsiaOnly}
58 };
59}