Provide default implementation of quiche_iovec.h PiperOrigin-RevId: 438424649
diff --git a/common/platform/api/quiche_iovec.h b/common/platform/api/quiche_iovec.h index c2d347d..351e627 100644 --- a/common/platform/api/quiche_iovec.h +++ b/common/platform/api/quiche_iovec.h
@@ -8,7 +8,7 @@ #include <cstddef> #include <type_traits> -#include "net/quiche/common/platform/impl/quiche_iovec_impl.h" +#include "quiche_platform_impl/quiche_iovec_impl.h" // The impl header has to export struct iovec, or a POSIX-compatible polyfill. // Below, we mostly assert that what we have is appropriate.
diff --git a/common/platform/default/quiche_platform_impl/quiche_iovec_impl.h b/common/platform/default/quiche_platform_impl/quiche_iovec_impl.h new file mode 100644 index 0000000..175d49d --- /dev/null +++ b/common/platform/default/quiche_platform_impl/quiche_iovec_impl.h
@@ -0,0 +1,24 @@ +// Copyright 2022 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef QUICHE_COMMON_PLATFORM_DEFAULT_QUICHE_PLATFORM_IMPL_QUICHE_IOVEC_IMPL_H_ +#define QUICHE_COMMON_PLATFORM_DEFAULT_QUICHE_PLATFORM_IMPL_QUICHE_IOVEC_IMPL_H_ + +#include "common/platform/api/quiche_export.h" + +#if defined(_WIN32) + +// See <https://pubs.opengroup.org/onlinepubs/009604599/basedefs/sys/uio.h.html> +struct QUICHE_EXPORT_PRIVAATE iovec { + void* iov_base; + size_t iov_len; +}; + +#else + +#include <sys/uio.h> // IWYU pragma: export + +#endif // defined(_WIN32) + +#endif // QUICHE_COMMON_PLATFORM_DEFAULT_QUICHE_PLATFORM_IMPL_QUICHE_IOVEC_IMPL_H_