blob: b34752104d72231dc6230659938b4a22232e9e60 [file] [log] [blame]
library test.handles;
using zx;
using fdf;
protocol SomeProtocol {};
alias aliased_plain_handle = zx.handle;
alias aliased_subtype_handle = zx.handle:VMO;
alias aliased_rights_handle = zx.handle:<VMO, zx.rights.DUPLICATE>;
type Handles = resource struct {
plain_handle zx.handle;
bti_handle zx.handle:BTI;
channel_handle zx.handle:CHANNEL;
clock_handle zx.handle:CLOCK;
debuglog_handle zx.handle:LOG;
event_handle zx.handle:EVENT;
eventpair_handle zx.handle:EVENTPAIR;
exception_handle zx.handle:EXCEPTION;
fifo_handle zx.handle:FIFO;
guest_handle zx.handle:GUEST;
interrupt_handle zx.handle:INTERRUPT;
iommu_handle zx.handle:IOMMU;
job_handle zx.handle:JOB;
pager_handle zx.handle:PAGER;
pmt_handle zx.handle:PMT;
port_handle zx.handle:PORT;
process_handle zx.handle:PROCESS;
profile_handle zx.handle:PROFILE;
resource_handle zx.handle:RESOURCE;
socket_handle zx.handle:SOCKET;
suspendtoken_handle zx.handle:SUSPEND_TOKEN;
thread_handle zx.handle:THREAD;
timer_handle zx.handle:TIMER;
vcpu_handle zx.handle:VCPU;
vmar_handle zx.handle:VMAR;
vmo_handle zx.handle:VMO;
rights_handle zx.handle:<VMO, zx.rights.DUPLICATE | zx.rights.READ>;
aliased_plain_handle_field aliased_plain_handle;
aliased_subtype_handle_field aliased_subtype_handle;
aliased_rights_handle_field aliased_rights_handle;
some_protocol client_end:SomeProtocol;
request_some_protocol server_end:SomeProtocol;
};
@transport("Driver")
protocol DriverProtocol {};
@bindings_denylist("hlcpp,dart,go,rust")
type FdfHandles = resource struct {
fdf_channel_handle fdf.handle:CHANNEL;
client_end_driver client_end:DriverProtocol;
server_end_driver server_end:DriverProtocol;
};