| // Copyright (c) 2013 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 NET_BASE_IOVEC_H_ | 
 | #define NET_BASE_IOVEC_H_ | 
 |  | 
 | #include "build/build_config.h" | 
 |  | 
 | #if defined(STARBOARD) | 
 | // Starboard sometimes can include sys/uio.h indirectly and it's very difficult | 
 | // to eliminate all such includes which can introduce conflicts with the iovec | 
 | // declaration here. | 
 | struct IOVEC { | 
 |   void* iov_base; /* Pointer to data.  */ | 
 |   size_t iov_len; /* Length of data.  */ | 
 | }; | 
 | #else  // STARBOARD | 
 | #if defined(OS_WIN) || defined(OS_NACL) | 
 | /* Structure for scatter/gather I/O.  */ | 
 | struct iovec { | 
 |   void* iov_base;  /* Pointer to data.  */ | 
 |   size_t iov_len;  /* Length of data.  */ | 
 | }; | 
 | #elif defined(OS_POSIX) || defined(OS_FUCHSIA) | 
 | #include <sys/uio.h> | 
 |  | 
 | #include "starboard/types.h" | 
 | #endif  // defined(OS_WIN) || defined(OS_NACL) | 
 | #endif  // STARBOARD | 
 |  | 
 | #endif  // NET_BASE_IOVEC_H_ |