| library test.handles; |
| |
| using zx; |
| using fdf; |
| |
| closed 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; |
| msi_handle zx.Handle:MSI; |
| 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; |
| stream_handle zx.Handle:STREAM; |
| 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") |
| closed 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; |
| }; |