| // WARNING: This file is machine generated by fidlgen. |
| |
| #include <fidl_llcpp_dirent.h> |
| #include <memory> |
| |
| namespace fidl { |
| namespace test { |
| namespace llcpp { |
| namespace dirent { |
| |
| namespace { |
| |
| [[maybe_unused]] |
| constexpr uint32_t kDirEntTestInterface_CountNumDirectories_Ordinal = 1763037320u; |
| extern "C" const fidl_type_t fidl_test_llcpp_dirent_DirEntTestInterfaceCountNumDirectoriesRequestTable; |
| [[maybe_unused]] |
| constexpr uint32_t kDirEntTestInterface_ReadDir_Ordinal = 5390459u; |
| extern "C" const fidl_type_t fidl_test_llcpp_dirent_DirEntTestInterfaceReadDirResponseTable; |
| [[maybe_unused]] |
| constexpr uint32_t kDirEntTestInterface_ConsumeDirectories_Ordinal = 426073095u; |
| extern "C" const fidl_type_t fidl_test_llcpp_dirent_DirEntTestInterfaceConsumeDirectoriesRequestTable; |
| [[maybe_unused]] |
| constexpr uint32_t kDirEntTestInterface_OnDirents_Ordinal = 1283577530u; |
| extern "C" const fidl_type_t fidl_test_llcpp_dirent_DirEntTestInterfaceOnDirentsEventTable; |
| [[maybe_unused]] |
| constexpr uint32_t kDirEntTestInterface_OneWayDirents_Ordinal = 1810555765u; |
| extern "C" const fidl_type_t fidl_test_llcpp_dirent_DirEntTestInterfaceOneWayDirentsRequestTable; |
| |
| } // namespace |
| |
| zx_status_t DirEntTestInterface::SyncClient::CountNumDirectories(::fidl::VectorView<DirEnt> dirents, int64_t* out_num_dir) { |
| constexpr uint32_t _kWriteAllocSize = ::fidl::internal::ClampedMessageSize<CountNumDirectoriesRequest>(); |
| std::unique_ptr<uint8_t[]> _write_bytes_unique_ptr(new uint8_t[_kWriteAllocSize]); |
| uint8_t* _write_bytes = _write_bytes_unique_ptr.get(); |
| CountNumDirectoriesRequest _request = {}; |
| _request._hdr.ordinal = kDirEntTestInterface_CountNumDirectories_Ordinal; |
| _request.dirents = std::move(dirents); |
| auto _linearize_result = ::fidl::Linearize(&_request, ::fidl::BytePart(_write_bytes, |
| _kWriteAllocSize)); |
| if (_linearize_result.status != ZX_OK) { |
| return _linearize_result.status; |
| } |
| ::fidl::DecodedMessage<CountNumDirectoriesRequest> _decoded_request = std::move(_linearize_result.message); |
| auto _encode_request_result = ::fidl::Encode(std::move(_decoded_request)); |
| if (_encode_request_result.status != ZX_OK) { |
| return _encode_request_result.status; |
| } |
| |
| constexpr uint32_t _kReadAllocSize = ::fidl::internal::ClampedMessageSize<CountNumDirectoriesResponse>(); |
| FIDL_ALIGNDECL uint8_t _read_bytes[_kReadAllocSize]; |
| ::fidl::BytePart _response_bytes(_read_bytes, _kReadAllocSize); |
| auto _call_result = ::fidl::Call<CountNumDirectoriesRequest, CountNumDirectoriesResponse>( |
| this->channel_, std::move(_encode_request_result.message), std::move(_response_bytes)); |
| if (_call_result.status != ZX_OK) { |
| return _call_result.status; |
| } |
| auto _decode_result = ::fidl::Decode(std::move(_call_result.message)); |
| if (_decode_result.status != ZX_OK) { |
| return _decode_result.status; |
| } |
| auto& _response = *_decode_result.message.message(); |
| *out_num_dir = std::move(_response.num_dir); |
| return ZX_OK; |
| } |
| |
| zx_status_t DirEntTestInterface::SyncClient::CountNumDirectories(::fidl::BytePart _request_buffer, ::fidl::VectorView<DirEnt> dirents, ::fidl::BytePart _response_buffer, int64_t* out_num_dir) { |
| CountNumDirectoriesRequest _request = {}; |
| _request._hdr.ordinal = kDirEntTestInterface_CountNumDirectories_Ordinal; |
| _request.dirents = std::move(dirents); |
| auto _linearize_result = ::fidl::Linearize(&_request, std::move(_request_buffer)); |
| if (_linearize_result.status != ZX_OK) { |
| return _linearize_result.status; |
| } |
| ::fidl::DecodedMessage<CountNumDirectoriesRequest> _decoded_request = std::move(_linearize_result.message); |
| auto _encode_request_result = ::fidl::Encode(std::move(_decoded_request)); |
| if (_encode_request_result.status != ZX_OK) { |
| return _encode_request_result.status; |
| } |
| auto _call_result = ::fidl::Call<CountNumDirectoriesRequest, CountNumDirectoriesResponse>( |
| this->channel_, std::move(_encode_request_result.message), std::move(_response_buffer)); |
| if (_call_result.status != ZX_OK) { |
| return _call_result.status; |
| } |
| auto _decode_result = ::fidl::Decode(std::move(_call_result.message)); |
| if (_decode_result.status != ZX_OK) { |
| return _decode_result.status; |
| } |
| auto& _response = *_decode_result.message.message(); |
| *out_num_dir = std::move(_response.num_dir); |
| return ZX_OK; |
| } |
| |
| ::fidl::DecodeResult<DirEntTestInterface::CountNumDirectoriesResponse> DirEntTestInterface::SyncClient::CountNumDirectories(::fidl::DecodedMessage<CountNumDirectoriesRequest> params, ::fidl::BytePart response_buffer) { |
| params.message()->_hdr = {}; |
| params.message()->_hdr.ordinal = kDirEntTestInterface_CountNumDirectories_Ordinal; |
| auto _encode_request_result = ::fidl::Encode(std::move(params)); |
| if (_encode_request_result.status != ZX_OK) { |
| return ::fidl::DecodeResult<DirEntTestInterface::CountNumDirectoriesResponse>( |
| _encode_request_result.status, |
| _encode_request_result.error, |
| ::fidl::DecodedMessage<DirEntTestInterface::CountNumDirectoriesResponse>()); |
| } |
| auto _call_result = ::fidl::Call<CountNumDirectoriesRequest, CountNumDirectoriesResponse>( |
| this->channel_, std::move(_encode_request_result.message), std::move(response_buffer)); |
| if (_call_result.status != ZX_OK) { |
| return ::fidl::DecodeResult<DirEntTestInterface::CountNumDirectoriesResponse>( |
| _call_result.status, |
| _call_result.error, |
| ::fidl::DecodedMessage<DirEntTestInterface::CountNumDirectoriesResponse>()); |
| } |
| return ::fidl::Decode(std::move(_call_result.message)); |
| } |
| |
| |
| zx_status_t DirEntTestInterface::SyncClient::ReadDir(::fidl::BytePart _response_buffer, ::fidl::VectorView<DirEnt>* out_dirents) { |
| FIDL_ALIGNDECL uint8_t _write_bytes[sizeof(ReadDirRequest)] = {}; |
| ::fidl::BytePart _request_buffer(_write_bytes, sizeof(_write_bytes)); |
| auto& _request = *reinterpret_cast<ReadDirRequest*>(_request_buffer.data()); |
| _request._hdr.ordinal = kDirEntTestInterface_ReadDir_Ordinal; |
| _request_buffer.set_actual(sizeof(ReadDirRequest)); |
| ::fidl::DecodedMessage<ReadDirRequest> _decoded_request(std::move(_request_buffer)); |
| auto _encode_request_result = ::fidl::Encode(std::move(_decoded_request)); |
| if (_encode_request_result.status != ZX_OK) { |
| return _encode_request_result.status; |
| } |
| auto _call_result = ::fidl::Call<ReadDirRequest, ReadDirResponse>( |
| this->channel_, std::move(_encode_request_result.message), std::move(_response_buffer)); |
| if (_call_result.status != ZX_OK) { |
| return _call_result.status; |
| } |
| auto _decode_result = ::fidl::Decode(std::move(_call_result.message)); |
| if (_decode_result.status != ZX_OK) { |
| return _decode_result.status; |
| } |
| auto& _response = *_decode_result.message.message(); |
| *out_dirents = std::move(_response.dirents); |
| return ZX_OK; |
| } |
| |
| ::fidl::DecodeResult<DirEntTestInterface::ReadDirResponse> DirEntTestInterface::SyncClient::ReadDir(::fidl::BytePart response_buffer) { |
| FIDL_ALIGNDECL uint8_t _write_bytes[sizeof(ReadDirRequest)] = {}; |
| constexpr uint32_t _write_num_bytes = sizeof(ReadDirRequest); |
| ::fidl::BytePart _request_buffer(_write_bytes, sizeof(_write_bytes), _write_num_bytes); |
| ::fidl::DecodedMessage<ReadDirRequest> params(std::move(_request_buffer)); |
| params.message()->_hdr = {}; |
| params.message()->_hdr.ordinal = kDirEntTestInterface_ReadDir_Ordinal; |
| auto _encode_request_result = ::fidl::Encode(std::move(params)); |
| if (_encode_request_result.status != ZX_OK) { |
| return ::fidl::DecodeResult<DirEntTestInterface::ReadDirResponse>( |
| _encode_request_result.status, |
| _encode_request_result.error, |
| ::fidl::DecodedMessage<DirEntTestInterface::ReadDirResponse>()); |
| } |
| auto _call_result = ::fidl::Call<ReadDirRequest, ReadDirResponse>( |
| this->channel_, std::move(_encode_request_result.message), std::move(response_buffer)); |
| if (_call_result.status != ZX_OK) { |
| return ::fidl::DecodeResult<DirEntTestInterface::ReadDirResponse>( |
| _call_result.status, |
| _call_result.error, |
| ::fidl::DecodedMessage<DirEntTestInterface::ReadDirResponse>()); |
| } |
| return ::fidl::Decode(std::move(_call_result.message)); |
| } |
| |
| |
| zx_status_t DirEntTestInterface::SyncClient::ConsumeDirectories(::fidl::VectorView<DirEnt> dirents) { |
| constexpr uint32_t _kWriteAllocSize = ::fidl::internal::ClampedMessageSize<ConsumeDirectoriesRequest>(); |
| FIDL_ALIGNDECL uint8_t _write_bytes[_kWriteAllocSize]; |
| ConsumeDirectoriesRequest _request = {}; |
| _request._hdr.ordinal = kDirEntTestInterface_ConsumeDirectories_Ordinal; |
| _request.dirents = std::move(dirents); |
| auto _linearize_result = ::fidl::Linearize(&_request, ::fidl::BytePart(_write_bytes, |
| _kWriteAllocSize)); |
| if (_linearize_result.status != ZX_OK) { |
| return _linearize_result.status; |
| } |
| ::fidl::DecodedMessage<ConsumeDirectoriesRequest> _decoded_request = std::move(_linearize_result.message); |
| auto _encode_request_result = ::fidl::Encode(std::move(_decoded_request)); |
| if (_encode_request_result.status != ZX_OK) { |
| return _encode_request_result.status; |
| } |
| |
| constexpr uint32_t _kReadAllocSize = ::fidl::internal::ClampedMessageSize<ConsumeDirectoriesResponse>(); |
| FIDL_ALIGNDECL uint8_t _read_bytes[_kReadAllocSize]; |
| ::fidl::BytePart _response_bytes(_read_bytes, _kReadAllocSize); |
| auto _call_result = ::fidl::Call<ConsumeDirectoriesRequest, ConsumeDirectoriesResponse>( |
| this->channel_, std::move(_encode_request_result.message), std::move(_response_bytes)); |
| if (_call_result.status != ZX_OK) { |
| return _call_result.status; |
| } |
| auto _decode_result = ::fidl::Decode(std::move(_call_result.message)); |
| if (_decode_result.status != ZX_OK) { |
| return _decode_result.status; |
| } |
| return ZX_OK; |
| } |
| |
| zx_status_t DirEntTestInterface::SyncClient::ConsumeDirectories(::fidl::BytePart _request_buffer, ::fidl::VectorView<DirEnt> dirents) { |
| ConsumeDirectoriesRequest _request = {}; |
| _request._hdr.ordinal = kDirEntTestInterface_ConsumeDirectories_Ordinal; |
| _request.dirents = std::move(dirents); |
| auto _linearize_result = ::fidl::Linearize(&_request, std::move(_request_buffer)); |
| if (_linearize_result.status != ZX_OK) { |
| return _linearize_result.status; |
| } |
| ::fidl::DecodedMessage<ConsumeDirectoriesRequest> _decoded_request = std::move(_linearize_result.message); |
| auto _encode_request_result = ::fidl::Encode(std::move(_decoded_request)); |
| if (_encode_request_result.status != ZX_OK) { |
| return _encode_request_result.status; |
| } |
| constexpr uint32_t _kReadAllocSize = ::fidl::internal::ClampedMessageSize<ConsumeDirectoriesResponse>(); |
| FIDL_ALIGNDECL uint8_t _read_bytes[_kReadAllocSize]; |
| ::fidl::BytePart _response_buffer(_read_bytes, sizeof(_read_bytes)); |
| auto _call_result = ::fidl::Call<ConsumeDirectoriesRequest, ConsumeDirectoriesResponse>( |
| this->channel_, std::move(_encode_request_result.message), std::move(_response_buffer)); |
| if (_call_result.status != ZX_OK) { |
| return _call_result.status; |
| } |
| auto _decode_result = ::fidl::Decode(std::move(_call_result.message)); |
| if (_decode_result.status != ZX_OK) { |
| return _decode_result.status; |
| } |
| return ZX_OK; |
| } |
| |
| zx_status_t DirEntTestInterface::SyncClient::ConsumeDirectories(::fidl::DecodedMessage<ConsumeDirectoriesRequest> params) { |
| params.message()->_hdr = {}; |
| params.message()->_hdr.ordinal = kDirEntTestInterface_ConsumeDirectories_Ordinal; |
| auto _encode_request_result = ::fidl::Encode(std::move(params)); |
| if (_encode_request_result.status != ZX_OK) { |
| return _encode_request_result.status; |
| } |
| constexpr uint32_t _kReadAllocSize = ::fidl::internal::ClampedMessageSize<ConsumeDirectoriesResponse>(); |
| FIDL_ALIGNDECL uint8_t _read_bytes[_kReadAllocSize]; |
| ::fidl::BytePart response_buffer(_read_bytes, sizeof(_read_bytes)); |
| auto _call_result = ::fidl::Call<ConsumeDirectoriesRequest, ConsumeDirectoriesResponse>( |
| this->channel_, std::move(_encode_request_result.message), std::move(response_buffer)); |
| if (_call_result.status != ZX_OK) { |
| return _call_result.status; |
| } |
| auto _decode_result = ::fidl::Decode(std::move(_call_result.message)); |
| return _decode_result.status; |
| } |
| |
| |
| zx_status_t DirEntTestInterface::SyncClient::OneWayDirents(::fidl::VectorView<DirEnt> dirents, ::zx::eventpair ep) { |
| constexpr uint32_t _kWriteAllocSize = ::fidl::internal::ClampedMessageSize<OneWayDirentsRequest>(); |
| std::unique_ptr<uint8_t[]> _write_bytes_unique_ptr(new uint8_t[_kWriteAllocSize]); |
| uint8_t* _write_bytes = _write_bytes_unique_ptr.get(); |
| OneWayDirentsRequest _request = {}; |
| _request._hdr.ordinal = kDirEntTestInterface_OneWayDirents_Ordinal; |
| _request.dirents = std::move(dirents); |
| _request.ep = std::move(ep); |
| auto _linearize_result = ::fidl::Linearize(&_request, ::fidl::BytePart(_write_bytes, |
| _kWriteAllocSize)); |
| if (_linearize_result.status != ZX_OK) { |
| return _linearize_result.status; |
| } |
| ::fidl::DecodedMessage<OneWayDirentsRequest> _decoded_request = std::move(_linearize_result.message); |
| auto _encode_request_result = ::fidl::Encode(std::move(_decoded_request)); |
| if (_encode_request_result.status != ZX_OK) { |
| return _encode_request_result.status; |
| } |
| const auto& _oneway = _encode_request_result.message; |
| return this->channel_.write(0, |
| _oneway.bytes().data(), _oneway.bytes().actual(), |
| _oneway.handles().data(), _oneway.handles().actual()); |
| } |
| |
| zx_status_t DirEntTestInterface::SyncClient::OneWayDirents(::fidl::BytePart _request_buffer, ::fidl::VectorView<DirEnt> dirents, ::zx::eventpair ep) { |
| OneWayDirentsRequest _request = {}; |
| _request._hdr.ordinal = kDirEntTestInterface_OneWayDirents_Ordinal; |
| _request.dirents = std::move(dirents); |
| _request.ep = std::move(ep); |
| auto _linearize_result = ::fidl::Linearize(&_request, std::move(_request_buffer)); |
| if (_linearize_result.status != ZX_OK) { |
| return _linearize_result.status; |
| } |
| ::fidl::DecodedMessage<OneWayDirentsRequest> _decoded_request = std::move(_linearize_result.message); |
| auto _encode_request_result = ::fidl::Encode(std::move(_decoded_request)); |
| if (_encode_request_result.status != ZX_OK) { |
| return _encode_request_result.status; |
| } |
| const auto& _oneway = _encode_request_result.message; |
| return this->channel_.write(0, |
| _oneway.bytes().data(), _oneway.bytes().actual(), |
| _oneway.handles().data(), _oneway.handles().actual()); |
| } |
| |
| zx_status_t DirEntTestInterface::SyncClient::OneWayDirents(::fidl::DecodedMessage<OneWayDirentsRequest> params) { |
| params.message()->_hdr = {}; |
| params.message()->_hdr.ordinal = kDirEntTestInterface_OneWayDirents_Ordinal; |
| auto _encode_request_result = ::fidl::Encode(std::move(params)); |
| if (_encode_request_result.status != ZX_OK) { |
| return _encode_request_result.status; |
| } |
| const auto& _oneway = _encode_request_result.message; |
| return this->channel_.write(0, |
| _oneway.bytes().data(), _oneway.bytes().actual(), |
| _oneway.handles().data(), _oneway.handles().actual()); |
| } |
| |
| |
| } // namespace dirent |
| } // namespace llcpp |
| } // namespace test |
| } // namespace fidl |