ne_set_request_body_buffer, ne_set_request_body_fd, ne_set_request_body_fd64 — include a message body with a request
#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) ; |
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.