Lines Matching refs:iov
94 struct iovec iov_array[IOV_MAX], *iov = iov_array;
101 /* Make a copy of the iov array because we may modify it below */
102 memcpy(iov, _iov, (size_t)iovcnt * sizeof(*_iov));
106 for (; iovcnt > 0 && iov[0].iov_len > 0;) {
107 res = (f) (fd, iov, iovcnt);
123 /* skip completed iov entries */
124 while (iovcnt > 0 && rem >= iov[0].iov_len) {
125 rem -= iov[0].iov_len;
126 iov++;
130 if (rem > 0 && (iovcnt <= 0 || rem > iov[0].iov_len)) {
136 /* update pointer in partially complete iov */
137 iov[0].iov_base = ((char *)iov[0].iov_base) + rem;
138 iov[0].iov_len -= rem;