| // WARNING: This file is machine generated by fidlgen. |
| |
| // fidl_experiment = output_index_json |
| |
| #pragma once |
| |
| #include <lib/fidl/cpp/wire/array.h> |
| #include <lib/fidl/cpp/wire/envelope.h> |
| #include <lib/fidl/cpp/wire/internal/framework_err.h> |
| #include <lib/fidl/cpp/wire/message.h> |
| #include <lib/fidl/cpp/wire/message_storage.h> |
| #include <lib/fidl/cpp/wire/object_view.h> |
| #include <lib/fidl/cpp/wire/string_view.h> |
| #include <lib/fidl/cpp/wire/traits.h> |
| #include <lib/fidl/cpp/wire/wire_types.h> |
| #include <lib/stdcompat/optional.h> |
| |
| #include <cinttypes> |
| #ifdef __Fuchsia__ |
| #include <lib/fidl_driver/cpp/wire_types.h> |
| #include <lib/zx/bti.h> |
| #include <lib/zx/channel.h> |
| #include <lib/zx/clock.h> |
| #include <lib/zx/debuglog.h> |
| #include <lib/zx/event.h> |
| #include <lib/zx/eventpair.h> |
| #include <lib/zx/exception.h> |
| #include <lib/zx/fifo.h> |
| #include <lib/zx/guest.h> |
| #include <lib/zx/handle.h> |
| #include <lib/zx/interrupt.h> |
| #include <lib/zx/iommu.h> |
| #include <lib/zx/job.h> |
| #include <lib/zx/msi.h> |
| #include <lib/zx/pager.h> |
| #include <lib/zx/pmt.h> |
| #include <lib/zx/port.h> |
| #include <lib/zx/process.h> |
| #include <lib/zx/profile.h> |
| #include <lib/zx/resource.h> |
| #include <lib/zx/socket.h> |
| #include <lib/zx/stream.h> |
| #include <lib/zx/suspend_token.h> |
| #include <lib/zx/thread.h> |
| #include <lib/zx/timer.h> |
| #include <lib/zx/vcpu.h> |
| #include <lib/zx/vmar.h> |
| #include <lib/zx/vmo.h> |
| |
| #endif // __Fuchsia__ |
| |
| #include <fidl/fdf/cpp/wire_types.h> |
| #include <fidl/test.handles/cpp/common_types.h> |
| #include <fidl/test.handles/cpp/markers.h> |
| |
| #pragma clang diagnostic push |
| #pragma clang diagnostic ignored "-Wshadow" |
| |
| namespace test_handles { |
| |
| namespace wire { |
| |
| struct Handles; |
| |
| struct FdfHandles; |
| |
| #ifdef __Fuchsia__ |
| |
| using AliasedPlainHandle = ::zx::handle; |
| |
| #endif // __Fuchsia__ |
| |
| #ifdef __Fuchsia__ |
| |
| using AliasedSubtypeHandle = ::zx::vmo; |
| |
| #endif // __Fuchsia__ |
| |
| #ifdef __Fuchsia__ |
| |
| using AliasedRightsHandle = ::zx::vmo; |
| |
| #endif // __Fuchsia__ |
| |
| #ifdef __Fuchsia__ |
| |
| struct Handles { |
| ::zx::handle plain_handle = {}; |
| |
| ::zx::bti bti_handle = {}; |
| |
| ::zx::channel channel_handle = {}; |
| |
| ::zx::clock clock_handle = {}; |
| |
| ::zx::debuglog debuglog_handle = {}; |
| |
| ::zx::event event_handle = {}; |
| |
| ::zx::eventpair eventpair_handle = {}; |
| |
| ::zx::exception exception_handle = {}; |
| |
| ::zx::fifo fifo_handle = {}; |
| |
| ::zx::guest guest_handle = {}; |
| |
| ::zx::interrupt interrupt_handle = {}; |
| |
| ::zx::iommu iommu_handle = {}; |
| |
| ::zx::job job_handle = {}; |
| |
| ::zx::msi msi_handle = {}; |
| |
| ::zx::pager pager_handle = {}; |
| |
| ::zx::pmt pmt_handle = {}; |
| |
| ::zx::port port_handle = {}; |
| |
| ::zx::process process_handle = {}; |
| |
| ::zx::profile profile_handle = {}; |
| |
| ::zx::resource resource_handle = {}; |
| |
| ::zx::socket socket_handle = {}; |
| |
| ::zx::stream stream_handle = {}; |
| |
| ::zx::suspend_token suspendtoken_handle = {}; |
| |
| ::zx::thread thread_handle = {}; |
| |
| ::zx::timer timer_handle = {}; |
| |
| ::zx::vcpu vcpu_handle = {}; |
| |
| ::zx::vmar vmar_handle = {}; |
| |
| ::zx::vmo vmo_handle = {}; |
| |
| ::zx::vmo rights_handle = {}; |
| |
| ::zx::handle aliased_plain_handle_field = {}; |
| |
| ::zx::vmo aliased_subtype_handle_field = {}; |
| |
| ::zx::vmo aliased_rights_handle_field = {}; |
| |
| ::fidl::ClientEnd<::test_handles::SomeProtocol> some_protocol = {}; |
| |
| ::fidl::ServerEnd<::test_handles::SomeProtocol> request_some_protocol = {}; |
| |
| void _CloseHandles(); |
| }; |
| |
| #endif // __Fuchsia__ |
| |
| #ifdef __Fuchsia__ |
| |
| struct FdfHandles { |
| ::fdf::Channel fdf_channel_handle = {}; |
| |
| ::fdf::ClientEnd<::test_handles::DriverProtocol> client_end_driver = {}; |
| |
| ::fdf::ServerEnd<::test_handles::DriverProtocol> server_end_driver = {}; |
| |
| void _CloseHandles(); |
| }; |
| |
| #endif // __Fuchsia__ |
| |
| } // namespace wire |
| } // namespace test_handles |
| namespace fidl { |
| |
| #ifdef __Fuchsia__ |
| template <> |
| struct IsResource<::test_handles::wire::Handles> : public std::true_type {}; |
| |
| template <> |
| struct TypeTraits<::test_handles::wire::Handles> { |
| static constexpr uint32_t kMaxNumHandles = 34; |
| static constexpr uint32_t kMaxDepth = 0; |
| static constexpr uint32_t kPrimarySize = 136; |
| [[maybe_unused]] |
| static constexpr uint32_t kMaxOutOfLine = 0; |
| static constexpr bool kHasFlexibleEnvelope = false; |
| static constexpr bool kHasPointer = false; |
| }; |
| |
| template <> |
| struct IsFidlType<::test_handles::wire::Handles> : public std::true_type {}; |
| template <> |
| struct IsWire<::test_handles::wire::Handles> : public std::true_type {}; |
| template <> |
| struct IsStruct<::test_handles::wire::Handles> : public std::true_type {}; |
| static_assert(std::is_standard_layout_v<::test_handles::wire::Handles>); |
| static_assert(offsetof(::test_handles::wire::Handles, plain_handle) == 0); |
| static_assert(offsetof(::test_handles::wire::Handles, bti_handle) == 4); |
| static_assert(offsetof(::test_handles::wire::Handles, channel_handle) == 8); |
| static_assert(offsetof(::test_handles::wire::Handles, clock_handle) == 12); |
| static_assert(offsetof(::test_handles::wire::Handles, debuglog_handle) == 16); |
| static_assert(offsetof(::test_handles::wire::Handles, event_handle) == 20); |
| static_assert(offsetof(::test_handles::wire::Handles, eventpair_handle) == 24); |
| static_assert(offsetof(::test_handles::wire::Handles, exception_handle) == 28); |
| static_assert(offsetof(::test_handles::wire::Handles, fifo_handle) == 32); |
| static_assert(offsetof(::test_handles::wire::Handles, guest_handle) == 36); |
| static_assert(offsetof(::test_handles::wire::Handles, interrupt_handle) == 40); |
| static_assert(offsetof(::test_handles::wire::Handles, iommu_handle) == 44); |
| static_assert(offsetof(::test_handles::wire::Handles, job_handle) == 48); |
| static_assert(offsetof(::test_handles::wire::Handles, msi_handle) == 52); |
| static_assert(offsetof(::test_handles::wire::Handles, pager_handle) == 56); |
| static_assert(offsetof(::test_handles::wire::Handles, pmt_handle) == 60); |
| static_assert(offsetof(::test_handles::wire::Handles, port_handle) == 64); |
| static_assert(offsetof(::test_handles::wire::Handles, process_handle) == 68); |
| static_assert(offsetof(::test_handles::wire::Handles, profile_handle) == 72); |
| static_assert(offsetof(::test_handles::wire::Handles, resource_handle) == 76); |
| static_assert(offsetof(::test_handles::wire::Handles, socket_handle) == 80); |
| static_assert(offsetof(::test_handles::wire::Handles, stream_handle) == 84); |
| static_assert(offsetof(::test_handles::wire::Handles, suspendtoken_handle) == 88); |
| static_assert(offsetof(::test_handles::wire::Handles, thread_handle) == 92); |
| static_assert(offsetof(::test_handles::wire::Handles, timer_handle) == 96); |
| static_assert(offsetof(::test_handles::wire::Handles, vcpu_handle) == 100); |
| static_assert(offsetof(::test_handles::wire::Handles, vmar_handle) == 104); |
| static_assert(offsetof(::test_handles::wire::Handles, vmo_handle) == 108); |
| static_assert(offsetof(::test_handles::wire::Handles, rights_handle) == 112); |
| static_assert(offsetof(::test_handles::wire::Handles, aliased_plain_handle_field) == 116); |
| static_assert(offsetof(::test_handles::wire::Handles, aliased_subtype_handle_field) == 120); |
| static_assert(offsetof(::test_handles::wire::Handles, aliased_rights_handle_field) == 124); |
| static_assert(offsetof(::test_handles::wire::Handles, some_protocol) == 128); |
| static_assert(offsetof(::test_handles::wire::Handles, request_some_protocol) == 132); |
| static_assert(sizeof(::test_handles::wire::Handles) == TypeTraits<::test_handles::wire::Handles>::kPrimarySize); |
| |
| template <bool IsRecursive> |
| struct ::fidl::internal::WireCodingTraits<::test_handles::wire::Handles, ::fidl::internal::WireCodingConstraintEmpty, IsRecursive> { |
| static constexpr size_t kInlineSize = 136; |
| static constexpr auto kMembers = std::make_tuple(::fidl::internal::WireStructMemberCodingInfo<::zx::handle, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_NONE, 0x80000000, false>, IsRecursive>(), ::fidl::internal::WireStructMemberCodingInfo<::zx::bti, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_BTI, 0x80000000, false>, IsRecursive>(), ::fidl::internal::WireStructMemberCodingInfo<::zx::channel, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_CHANNEL, 0x80000000, false>, IsRecursive>(), ::fidl::internal::WireStructMemberCodingInfo<::zx::clock, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_CLOCK, 0x80000000, false>, IsRecursive>(), ::fidl::internal::WireStructMemberCodingInfo<::zx::debuglog, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_DEBUGLOG, 0x80000000, false>, IsRecursive>(), ::fidl::internal::WireStructMemberCodingInfo<::zx::event, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_EVENT, 0x80000000, false>, IsRecursive>(), ::fidl::internal::WireStructMemberCodingInfo<::zx::eventpair, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_EVENTPAIR, 0x80000000, false>, IsRecursive>(), ::fidl::internal::WireStructMemberCodingInfo<::zx::exception, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_EXCEPTION, 0x80000000, false>, IsRecursive>(), ::fidl::internal::WireStructMemberCodingInfo<::zx::fifo, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_FIFO, 0x80000000, false>, IsRecursive>(), ::fidl::internal::WireStructMemberCodingInfo<::zx::guest, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_GUEST, 0x80000000, false>, IsRecursive>(), ::fidl::internal::WireStructMemberCodingInfo<::zx::interrupt, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_INTERRUPT, 0x80000000, false>, IsRecursive>(), ::fidl::internal::WireStructMemberCodingInfo<::zx::iommu, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_IOMMU, 0x80000000, false>, IsRecursive>(), ::fidl::internal::WireStructMemberCodingInfo<::zx::job, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_JOB, 0x80000000, false>, IsRecursive>(), ::fidl::internal::WireStructMemberCodingInfo<::zx::msi, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_MSI, 0x80000000, false>, IsRecursive>(), ::fidl::internal::WireStructMemberCodingInfo<::zx::pager, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_PAGER, 0x80000000, false>, IsRecursive>(), ::fidl::internal::WireStructMemberCodingInfo<::zx::pmt, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_PMT, 0x80000000, false>, IsRecursive>(), ::fidl::internal::WireStructMemberCodingInfo<::zx::port, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_PORT, 0x80000000, false>, IsRecursive>(), ::fidl::internal::WireStructMemberCodingInfo<::zx::process, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_PROCESS, 0x80000000, false>, IsRecursive>(), ::fidl::internal::WireStructMemberCodingInfo<::zx::profile, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_PROFILE, 0x80000000, false>, IsRecursive>(), ::fidl::internal::WireStructMemberCodingInfo<::zx::resource, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_RESOURCE, 0x80000000, false>, IsRecursive>(), ::fidl::internal::WireStructMemberCodingInfo<::zx::socket, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_SOCKET, 0x80000000, false>, IsRecursive>(), ::fidl::internal::WireStructMemberCodingInfo<::zx::stream, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_STREAM, 0x80000000, false>, IsRecursive>(), ::fidl::internal::WireStructMemberCodingInfo<::zx::suspend_token, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_SUSPEND_TOKEN, 0x80000000, false>, IsRecursive>(), ::fidl::internal::WireStructMemberCodingInfo<::zx::thread, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_THREAD, 0x80000000, false>, IsRecursive>(), ::fidl::internal::WireStructMemberCodingInfo<::zx::timer, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_TIMER, 0x80000000, false>, IsRecursive>(), ::fidl::internal::WireStructMemberCodingInfo<::zx::vcpu, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_VCPU, 0x80000000, false>, IsRecursive>(), ::fidl::internal::WireStructMemberCodingInfo<::zx::vmar, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_VMAR, 0x80000000, false>, IsRecursive>(), ::fidl::internal::WireStructMemberCodingInfo<::zx::vmo, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_VMO, 0x80000000, false>, IsRecursive>(), ::fidl::internal::WireStructMemberCodingInfo<::zx::vmo, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_VMO, 0x5, false>, IsRecursive>(), ::fidl::internal::WireStructMemberCodingInfo<::zx::handle, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_NONE, 0x80000000, false>, IsRecursive>(), ::fidl::internal::WireStructMemberCodingInfo<::zx::vmo, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_VMO, 0x80000000, false>, IsRecursive>(), ::fidl::internal::WireStructMemberCodingInfo<::zx::vmo, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_VMO, 0x1, false>, IsRecursive>(), ::fidl::internal::WireStructMemberCodingInfo<::fidl::ClientEnd<::test_handles::SomeProtocol>, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_CHANNEL, ZX_DEFAULT_CHANNEL_RIGHTS, false>, IsRecursive>(), ::fidl::internal::WireStructMemberCodingInfo<::fidl::ServerEnd<::test_handles::SomeProtocol>, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_CHANNEL, ZX_DEFAULT_CHANNEL_RIGHTS, false>, IsRecursive>()); |
| static constexpr bool kHasPadding = false; |
| using Base = WireStructCodingTraitsBase<::test_handles::wire::Handles, ::fidl::internal::WireCodingConstraintEmpty, IsRecursive>; |
| static constexpr bool kIsMemcpyCompatible = Base::kIsMemcpyCompatible; |
| |
| static void Encode( |
| internal::WireEncoder* encoder, ::test_handles::wire::Handles* value, ::fidl::internal::WirePosition position, RecursionDepth<IsRecursive> recursion_depth) { |
| if constexpr (kIsMemcpyCompatible) { |
| memcpy(position.As<void>(), value, sizeof(::test_handles::wire::Handles)); |
| } else { |
| internal::WireCodingTraits<::zx::handle, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_NONE, 0x80000000, false>, IsRecursive>::Encode(encoder, &value->plain_handle, position + 0, recursion_depth); |
| internal::WireCodingTraits<::zx::bti, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_BTI, 0x80000000, false>, IsRecursive>::Encode(encoder, &value->bti_handle, position + 4, recursion_depth); |
| internal::WireCodingTraits<::zx::channel, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_CHANNEL, 0x80000000, false>, IsRecursive>::Encode(encoder, &value->channel_handle, position + 8, recursion_depth); |
| internal::WireCodingTraits<::zx::clock, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_CLOCK, 0x80000000, false>, IsRecursive>::Encode(encoder, &value->clock_handle, position + 12, recursion_depth); |
| internal::WireCodingTraits<::zx::debuglog, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_DEBUGLOG, 0x80000000, false>, IsRecursive>::Encode(encoder, &value->debuglog_handle, position + 16, recursion_depth); |
| internal::WireCodingTraits<::zx::event, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_EVENT, 0x80000000, false>, IsRecursive>::Encode(encoder, &value->event_handle, position + 20, recursion_depth); |
| internal::WireCodingTraits<::zx::eventpair, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_EVENTPAIR, 0x80000000, false>, IsRecursive>::Encode(encoder, &value->eventpair_handle, position + 24, recursion_depth); |
| internal::WireCodingTraits<::zx::exception, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_EXCEPTION, 0x80000000, false>, IsRecursive>::Encode(encoder, &value->exception_handle, position + 28, recursion_depth); |
| internal::WireCodingTraits<::zx::fifo, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_FIFO, 0x80000000, false>, IsRecursive>::Encode(encoder, &value->fifo_handle, position + 32, recursion_depth); |
| internal::WireCodingTraits<::zx::guest, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_GUEST, 0x80000000, false>, IsRecursive>::Encode(encoder, &value->guest_handle, position + 36, recursion_depth); |
| internal::WireCodingTraits<::zx::interrupt, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_INTERRUPT, 0x80000000, false>, IsRecursive>::Encode(encoder, &value->interrupt_handle, position + 40, recursion_depth); |
| internal::WireCodingTraits<::zx::iommu, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_IOMMU, 0x80000000, false>, IsRecursive>::Encode(encoder, &value->iommu_handle, position + 44, recursion_depth); |
| internal::WireCodingTraits<::zx::job, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_JOB, 0x80000000, false>, IsRecursive>::Encode(encoder, &value->job_handle, position + 48, recursion_depth); |
| internal::WireCodingTraits<::zx::msi, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_MSI, 0x80000000, false>, IsRecursive>::Encode(encoder, &value->msi_handle, position + 52, recursion_depth); |
| internal::WireCodingTraits<::zx::pager, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_PAGER, 0x80000000, false>, IsRecursive>::Encode(encoder, &value->pager_handle, position + 56, recursion_depth); |
| internal::WireCodingTraits<::zx::pmt, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_PMT, 0x80000000, false>, IsRecursive>::Encode(encoder, &value->pmt_handle, position + 60, recursion_depth); |
| internal::WireCodingTraits<::zx::port, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_PORT, 0x80000000, false>, IsRecursive>::Encode(encoder, &value->port_handle, position + 64, recursion_depth); |
| internal::WireCodingTraits<::zx::process, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_PROCESS, 0x80000000, false>, IsRecursive>::Encode(encoder, &value->process_handle, position + 68, recursion_depth); |
| internal::WireCodingTraits<::zx::profile, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_PROFILE, 0x80000000, false>, IsRecursive>::Encode(encoder, &value->profile_handle, position + 72, recursion_depth); |
| internal::WireCodingTraits<::zx::resource, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_RESOURCE, 0x80000000, false>, IsRecursive>::Encode(encoder, &value->resource_handle, position + 76, recursion_depth); |
| internal::WireCodingTraits<::zx::socket, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_SOCKET, 0x80000000, false>, IsRecursive>::Encode(encoder, &value->socket_handle, position + 80, recursion_depth); |
| internal::WireCodingTraits<::zx::stream, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_STREAM, 0x80000000, false>, IsRecursive>::Encode(encoder, &value->stream_handle, position + 84, recursion_depth); |
| internal::WireCodingTraits<::zx::suspend_token, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_SUSPEND_TOKEN, 0x80000000, false>, IsRecursive>::Encode(encoder, &value->suspendtoken_handle, position + 88, recursion_depth); |
| internal::WireCodingTraits<::zx::thread, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_THREAD, 0x80000000, false>, IsRecursive>::Encode(encoder, &value->thread_handle, position + 92, recursion_depth); |
| internal::WireCodingTraits<::zx::timer, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_TIMER, 0x80000000, false>, IsRecursive>::Encode(encoder, &value->timer_handle, position + 96, recursion_depth); |
| internal::WireCodingTraits<::zx::vcpu, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_VCPU, 0x80000000, false>, IsRecursive>::Encode(encoder, &value->vcpu_handle, position + 100, recursion_depth); |
| internal::WireCodingTraits<::zx::vmar, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_VMAR, 0x80000000, false>, IsRecursive>::Encode(encoder, &value->vmar_handle, position + 104, recursion_depth); |
| internal::WireCodingTraits<::zx::vmo, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_VMO, 0x80000000, false>, IsRecursive>::Encode(encoder, &value->vmo_handle, position + 108, recursion_depth); |
| internal::WireCodingTraits<::zx::vmo, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_VMO, 0x5, false>, IsRecursive>::Encode(encoder, &value->rights_handle, position + 112, recursion_depth); |
| internal::WireCodingTraits<::zx::handle, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_NONE, 0x80000000, false>, IsRecursive>::Encode(encoder, &value->aliased_plain_handle_field, position + 116, recursion_depth); |
| internal::WireCodingTraits<::zx::vmo, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_VMO, 0x80000000, false>, IsRecursive>::Encode(encoder, &value->aliased_subtype_handle_field, position + 120, recursion_depth); |
| internal::WireCodingTraits<::zx::vmo, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_VMO, 0x1, false>, IsRecursive>::Encode(encoder, &value->aliased_rights_handle_field, position + 124, recursion_depth); |
| internal::WireCodingTraits<::fidl::ClientEnd<::test_handles::SomeProtocol>, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_CHANNEL, ZX_DEFAULT_CHANNEL_RIGHTS, false>, IsRecursive>::Encode(encoder, &value->some_protocol, position + 128, recursion_depth); |
| internal::WireCodingTraits<::fidl::ServerEnd<::test_handles::SomeProtocol>, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_CHANNEL, ZX_DEFAULT_CHANNEL_RIGHTS, false>, IsRecursive>::Encode(encoder, &value->request_some_protocol, position + 132, recursion_depth); |
| } |
| } |
| static void Decode( |
| internal::WireDecoder* decoder, ::fidl::internal::WirePosition position, RecursionDepth<IsRecursive> recursion_depth) { |
| if constexpr (!Base::are_members_memcpy_compatible) { |
| internal::WireCodingTraits<::zx::handle, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_NONE, 0x80000000, false>, IsRecursive>::Decode( |
| decoder, position + 0, recursion_depth); |
| internal::WireCodingTraits<::zx::bti, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_BTI, 0x80000000, false>, IsRecursive>::Decode( |
| decoder, position + 4, recursion_depth); |
| internal::WireCodingTraits<::zx::channel, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_CHANNEL, 0x80000000, false>, IsRecursive>::Decode( |
| decoder, position + 8, recursion_depth); |
| internal::WireCodingTraits<::zx::clock, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_CLOCK, 0x80000000, false>, IsRecursive>::Decode( |
| decoder, position + 12, recursion_depth); |
| internal::WireCodingTraits<::zx::debuglog, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_DEBUGLOG, 0x80000000, false>, IsRecursive>::Decode( |
| decoder, position + 16, recursion_depth); |
| internal::WireCodingTraits<::zx::event, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_EVENT, 0x80000000, false>, IsRecursive>::Decode( |
| decoder, position + 20, recursion_depth); |
| internal::WireCodingTraits<::zx::eventpair, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_EVENTPAIR, 0x80000000, false>, IsRecursive>::Decode( |
| decoder, position + 24, recursion_depth); |
| internal::WireCodingTraits<::zx::exception, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_EXCEPTION, 0x80000000, false>, IsRecursive>::Decode( |
| decoder, position + 28, recursion_depth); |
| internal::WireCodingTraits<::zx::fifo, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_FIFO, 0x80000000, false>, IsRecursive>::Decode( |
| decoder, position + 32, recursion_depth); |
| internal::WireCodingTraits<::zx::guest, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_GUEST, 0x80000000, false>, IsRecursive>::Decode( |
| decoder, position + 36, recursion_depth); |
| internal::WireCodingTraits<::zx::interrupt, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_INTERRUPT, 0x80000000, false>, IsRecursive>::Decode( |
| decoder, position + 40, recursion_depth); |
| internal::WireCodingTraits<::zx::iommu, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_IOMMU, 0x80000000, false>, IsRecursive>::Decode( |
| decoder, position + 44, recursion_depth); |
| internal::WireCodingTraits<::zx::job, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_JOB, 0x80000000, false>, IsRecursive>::Decode( |
| decoder, position + 48, recursion_depth); |
| internal::WireCodingTraits<::zx::msi, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_MSI, 0x80000000, false>, IsRecursive>::Decode( |
| decoder, position + 52, recursion_depth); |
| internal::WireCodingTraits<::zx::pager, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_PAGER, 0x80000000, false>, IsRecursive>::Decode( |
| decoder, position + 56, recursion_depth); |
| internal::WireCodingTraits<::zx::pmt, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_PMT, 0x80000000, false>, IsRecursive>::Decode( |
| decoder, position + 60, recursion_depth); |
| internal::WireCodingTraits<::zx::port, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_PORT, 0x80000000, false>, IsRecursive>::Decode( |
| decoder, position + 64, recursion_depth); |
| internal::WireCodingTraits<::zx::process, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_PROCESS, 0x80000000, false>, IsRecursive>::Decode( |
| decoder, position + 68, recursion_depth); |
| internal::WireCodingTraits<::zx::profile, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_PROFILE, 0x80000000, false>, IsRecursive>::Decode( |
| decoder, position + 72, recursion_depth); |
| internal::WireCodingTraits<::zx::resource, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_RESOURCE, 0x80000000, false>, IsRecursive>::Decode( |
| decoder, position + 76, recursion_depth); |
| internal::WireCodingTraits<::zx::socket, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_SOCKET, 0x80000000, false>, IsRecursive>::Decode( |
| decoder, position + 80, recursion_depth); |
| internal::WireCodingTraits<::zx::stream, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_STREAM, 0x80000000, false>, IsRecursive>::Decode( |
| decoder, position + 84, recursion_depth); |
| internal::WireCodingTraits<::zx::suspend_token, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_SUSPEND_TOKEN, 0x80000000, false>, IsRecursive>::Decode( |
| decoder, position + 88, recursion_depth); |
| internal::WireCodingTraits<::zx::thread, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_THREAD, 0x80000000, false>, IsRecursive>::Decode( |
| decoder, position + 92, recursion_depth); |
| internal::WireCodingTraits<::zx::timer, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_TIMER, 0x80000000, false>, IsRecursive>::Decode( |
| decoder, position + 96, recursion_depth); |
| internal::WireCodingTraits<::zx::vcpu, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_VCPU, 0x80000000, false>, IsRecursive>::Decode( |
| decoder, position + 100, recursion_depth); |
| internal::WireCodingTraits<::zx::vmar, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_VMAR, 0x80000000, false>, IsRecursive>::Decode( |
| decoder, position + 104, recursion_depth); |
| internal::WireCodingTraits<::zx::vmo, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_VMO, 0x80000000, false>, IsRecursive>::Decode( |
| decoder, position + 108, recursion_depth); |
| internal::WireCodingTraits<::zx::vmo, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_VMO, 0x5, false>, IsRecursive>::Decode( |
| decoder, position + 112, recursion_depth); |
| internal::WireCodingTraits<::zx::handle, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_NONE, 0x80000000, false>, IsRecursive>::Decode( |
| decoder, position + 116, recursion_depth); |
| internal::WireCodingTraits<::zx::vmo, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_VMO, 0x80000000, false>, IsRecursive>::Decode( |
| decoder, position + 120, recursion_depth); |
| internal::WireCodingTraits<::zx::vmo, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_VMO, 0x1, false>, IsRecursive>::Decode( |
| decoder, position + 124, recursion_depth); |
| internal::WireCodingTraits<::fidl::ClientEnd<::test_handles::SomeProtocol>, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_CHANNEL, ZX_DEFAULT_CHANNEL_RIGHTS, false>, IsRecursive>::Decode( |
| decoder, position + 128, recursion_depth); |
| internal::WireCodingTraits<::fidl::ServerEnd<::test_handles::SomeProtocol>, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_CHANNEL, ZX_DEFAULT_CHANNEL_RIGHTS, false>, IsRecursive>::Decode( |
| decoder, position + 132, recursion_depth); |
| } |
| } |
| }; |
| |
| #endif // __Fuchsia__ |
| |
| #ifdef __Fuchsia__ |
| template <> |
| struct IsResource<::test_handles::wire::FdfHandles> : public std::true_type {}; |
| |
| template <> |
| struct TypeTraits<::test_handles::wire::FdfHandles> { |
| static constexpr uint32_t kMaxNumHandles = 3; |
| static constexpr uint32_t kMaxDepth = 0; |
| static constexpr uint32_t kPrimarySize = 12; |
| [[maybe_unused]] |
| static constexpr uint32_t kMaxOutOfLine = 0; |
| static constexpr bool kHasFlexibleEnvelope = false; |
| static constexpr bool kHasPointer = false; |
| }; |
| |
| template <> |
| struct IsFidlType<::test_handles::wire::FdfHandles> : public std::true_type {}; |
| template <> |
| struct IsWire<::test_handles::wire::FdfHandles> : public std::true_type {}; |
| template <> |
| struct IsStruct<::test_handles::wire::FdfHandles> : public std::true_type {}; |
| static_assert(std::is_standard_layout_v<::test_handles::wire::FdfHandles>); |
| static_assert(offsetof(::test_handles::wire::FdfHandles, fdf_channel_handle) == 0); |
| static_assert(offsetof(::test_handles::wire::FdfHandles, client_end_driver) == 4); |
| static_assert(offsetof(::test_handles::wire::FdfHandles, server_end_driver) == 8); |
| static_assert(sizeof(::test_handles::wire::FdfHandles) == TypeTraits<::test_handles::wire::FdfHandles>::kPrimarySize); |
| |
| template <bool IsRecursive> |
| struct ::fidl::internal::WireCodingTraits<::test_handles::wire::FdfHandles, ::fidl::internal::WireCodingConstraintEmpty, IsRecursive> { |
| static constexpr size_t kInlineSize = 12; |
| static constexpr auto kMembers = std::make_tuple(::fidl::internal::WireStructMemberCodingInfo<::fdf::Channel, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_CHANNEL, 0x80000000, false>, IsRecursive>(), ::fidl::internal::WireStructMemberCodingInfo<::fdf::ClientEnd<::test_handles::DriverProtocol>, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_CHANNEL, ZX_DEFAULT_CHANNEL_RIGHTS, false>, IsRecursive>(), ::fidl::internal::WireStructMemberCodingInfo<::fdf::ServerEnd<::test_handles::DriverProtocol>, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_CHANNEL, ZX_DEFAULT_CHANNEL_RIGHTS, false>, IsRecursive>()); |
| static constexpr bool kHasPadding = false; |
| using Base = WireStructCodingTraitsBase<::test_handles::wire::FdfHandles, ::fidl::internal::WireCodingConstraintEmpty, IsRecursive>; |
| static constexpr bool kIsMemcpyCompatible = Base::kIsMemcpyCompatible; |
| |
| static void Encode( |
| internal::WireEncoder* encoder, ::test_handles::wire::FdfHandles* value, ::fidl::internal::WirePosition position, RecursionDepth<IsRecursive> recursion_depth) { |
| if constexpr (kIsMemcpyCompatible) { |
| memcpy(position.As<void>(), value, sizeof(::test_handles::wire::FdfHandles)); |
| } else { |
| internal::WireCodingTraits<::fdf::Channel, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_CHANNEL, 0x80000000, false>, IsRecursive>::Encode(encoder, &value->fdf_channel_handle, position + 0, recursion_depth); |
| internal::WireCodingTraits<::fdf::ClientEnd<::test_handles::DriverProtocol>, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_CHANNEL, ZX_DEFAULT_CHANNEL_RIGHTS, false>, IsRecursive>::Encode(encoder, &value->client_end_driver, position + 4, recursion_depth); |
| internal::WireCodingTraits<::fdf::ServerEnd<::test_handles::DriverProtocol>, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_CHANNEL, ZX_DEFAULT_CHANNEL_RIGHTS, false>, IsRecursive>::Encode(encoder, &value->server_end_driver, position + 8, recursion_depth); |
| } |
| } |
| static void Decode( |
| internal::WireDecoder* decoder, ::fidl::internal::WirePosition position, RecursionDepth<IsRecursive> recursion_depth) { |
| if constexpr (!Base::are_members_memcpy_compatible) { |
| internal::WireCodingTraits<::fdf::Channel, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_CHANNEL, 0x80000000, false>, IsRecursive>::Decode( |
| decoder, position + 0, recursion_depth); |
| internal::WireCodingTraits<::fdf::ClientEnd<::test_handles::DriverProtocol>, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_CHANNEL, ZX_DEFAULT_CHANNEL_RIGHTS, false>, IsRecursive>::Decode( |
| decoder, position + 4, recursion_depth); |
| internal::WireCodingTraits<::fdf::ServerEnd<::test_handles::DriverProtocol>, fidl::internal::WireCodingConstraintHandle<ZX_OBJ_TYPE_CHANNEL, ZX_DEFAULT_CHANNEL_RIGHTS, false>, IsRecursive>::Decode( |
| decoder, position + 8, recursion_depth); |
| } |
| } |
| }; |
| |
| #endif // __Fuchsia__ |
| |
| #pragma clang diagnostic pop |
| |
| } // namespace fidl |