NAME
ne_set_request_body_buffer, ne_set_request_body_fd, ne_set_request_body_fd64 - include a message body with a request
SYNOPSIS
#include <ne_request.h>
void ne_set_request_body_buffer(ne_request *req, const char *buf, size_t count);
int ne_set_request_body_fd(ne_request *req, int fd, off_t begin, off_t length);
int ne_set_request_body_fd64(ne_request *req, int fd, off64_t begin, off64_t length);
DESCRIPTION
The
ne_set_request_body_buffer
function specifies that a message body should be included with the body, which is stored in the
count
bytes buffer
buf.
The
ne_set_request_body_fd
function can be used to include a message body with a request which is read from a file descriptor. The body is read from the file descriptor
fd, which must be a associated with a seekable file (not a pipe, socket, or FIFO).
count
bytes are read, beginning at offset
begin
(hence, passing
begin
as zero means the body is read from the beginning of the file).
If the
NE_LFS
macro is defined, then the
ne_set_request_body_fd64
function is also available, to provide large file support. This function can be used on 32-bit platforms supporting the LFS standard; the
offset
and
length
parameters can then be passed as 64-bit values. When using large files,
fd
must be opened using
open64
or by passing the
O_LARGEFILE
flag to
open.
For all the above functions, the source of the request body must survive until the request has been dispatched; neither the memory buffer passed to
ne_set_request_body_buffer
nor the file descriptor passed to
ne_set_request_body_fd
or
ne_set_request_body_fd64
are copied internally.
SEE ALSO
ne_request_create