# mongoc_iovec_t

## Synopsis

    #include <mongoc/mongoc.h>

    #ifdef _WIN32
    typedef struct {
       u_long iov_len;
       char *iov_base;
    } mongoc_iovec_t;
    #else
    typedef struct iovec mongoc_iovec_t;
    #endif

The `mongoc_iovec_t` structure is a portability abstraction for consumers of the mongoc_stream_t interfaces. It allows for scatter/gather I/O through the socket subsystem.

Warning

When writing portable code, beware of the ordering of `iov_len` and `iov_base` as they are different on various platforms. Therefore, you should not use C initializers for initialization.