View | Details | Raw Unified | Return to bug 43309
Collapse All | Expand All

(-)include/apr_network_io.h (+27 lines)
Lines 508-513 Link Here
508
                                            apr_size_t *len);
508
                                            apr_size_t *len);
509
509
510
/**
510
/**
511
 * Send multiple packets of data over a network.
512
 * @param sock The socket to send the data over.
513
 * @param where The apr_sockaddr_t describing where to send the data
514
 * @param flags The flags to use
515
 * @param vec The array of iovec structs containing the data to send 
516
 * @param nvec The number of iovec structs in the array
517
 * @param len Receives the number of bytes actually written
518
 * @remark
519
 * <PRE>
520
 * This functions acts like a blocking write by default.  To change 
521
 * this behavior, use apr_socket_timeout_set() or the APR_SO_NONBLOCK
522
 * socket option.
523
 * The number of bytes actually sent is stored in argument 3.
524
 *
525
 * It is possible for both bytes to be sent and an error to be returned.
526
 *
527
 * APR_EINTR is never returned.
528
 * </PRE>
529
 */
530
APR_DECLARE(apr_status_t) apr_socket_sendtov(apr_socket_t *sock,
531
                                             apr_sockaddr_t *where,
532
                                             apr_int32_t flags,
533
                                             const struct iovec *vec,
534
                                             apr_int32_t nvec,
535
                                             apr_size_t *len);
536
537
/**
511
 * Read data from a socket.  On success, the address of the peer from
538
 * Read data from a socket.  On success, the address of the peer from
512
 * which the data was sent is copied into the @param from parameter,
539
 * which the data was sent is copied into the @param from parameter,
513
 * and the @param len parameter is updated to give the number of bytes
540
 * and the @param len parameter is updated to give the number of bytes
514
541
(-)network_io/unix/sendrecv.c (-1 / +9 lines)
Lines 184-190 Link Here
184
    return APR_SUCCESS;
184
    return APR_SUCCESS;
185
}
185
}
186
186
187
apr_status_t apr_socket_sendv(apr_socket_t * sock, const struct iovec *vec,
187
apr_status_t apr_socket_sendtov(apr_socket_t *sock, apr_sockaddr_t *where,
188
                                apr_int32_t flags, const struct iovec *vec,
189
                                apr_int32_t nvec, apr_size_t *len)
190
{
191
    *len = vec[0].iov_len;
192
    return apr_socket_sendto(sock, where, flags, vec[0].iov_base, len);
193
}
194
195
apr_status_t apr_socket_sendv(apr_socket_t *sock, const struct iovec *vec,
188
                              apr_int32_t nvec, apr_size_t *len)
196
                              apr_int32_t nvec, apr_size_t *len)
189
{
197
{
190
#ifdef HAVE_WRITEV
198
#ifdef HAVE_WRITEV

Return to bug 43309