NAME¶
ixp_srv_readbuf, ixp_srv_writebuf
SYNOPSIS¶
#include <ixp_srvutil.h>
void ixp_srv_readbuf(Ixp9Req *req, char *buf, uint len);
void ixp_srv_writebuf(Ixp9Req *req, char **buf, uint *len, uint max);
DESCRIPTION¶
Utility functions for handling TRead and TWrite requests for files backed by
in-memory buffers. For both functions, buf points to a buffer and
len specifies the length of the buffer. In the case of
ixp_srv_writebuf, these values add a level of pointer indirection, and updates
the values if they change.
If max has a value other than 0, ixp_srv_writebuf will
truncate any writes to that point in the buffer. Otherwise, *buf is
assumed to be malloc(3) allocated, and is reallocated to fit the new data as
necessary. The buffer is is always left nul-terminated.
BUGS¶
ixp_srv_writebuf always truncates its buffer to the end of the most recent
write.