Open System Services System Calls Reference Manual (G06.29+, H06.08+, J06.03+)
spt_writevz(2) OSS System Calls Reference Manual
NAME
spt_writevz - Writes to a file from scattered buffers (thread-aware version)
LIBRARY
H-series and J series OSS processes: /G/system/zdllnnn/zsptdll
SYNOPSIS
#include <sys/types.h>
#include <sys/uio.h>
#include <spthread.h>
int spt_writevz(
int filedes,
struct iovec *iov,
int iov_count);
PARAMETERS
filedes Specifies an open file descriptor obtained from a successful call to the
spt_acceptx(), creat(), creat64(), dup(), spt_dup2x(), spt_fcntlz(), open(),
open64(), pipe(), socket(),orsocketpair() function.
iov Points to a iovec structure that identifies the buffers containing the data to be
written.
iov_count Specifies the number of iovec structure entries (buffers) pointed to by the iov
parameter.
DESCRIPTION
The spt_writevz() function is a thread-aware version of the writev( ) function.
The spt_writevz() function attempts to write data to the file associated with the filedes parameter
from the set of buffers pointed to by the iov parameter.
The spt_writevz() function performs the same action as the spt_writez() function, but gathers
the output data from the iov_count buffers specified by the iovec structure buffers pointed to by
the iov parameter.
The iovec structure is defined in the sys/uoi.h header file and contains entries with these
members:
caddr_t iov_base;
int iov_len;
The iov_base and iov_len members of each iovec structure entry specify the base address and
length of an area in memory from which data should be written. The spt_writevz() function
always writes a complete buffer before proceeding to the next.
With regular files and devices capable of seeking, the actual writing of data proceeds from the
position in the file indicated by the file pointer. If this incremented file pointer is greater than the
length of the file, the length of the file is set to this file offset. Upon return from the
spt_writevz() function, the file pointer is incremented by the number of bytes actually written.
With devices incapable of seeking, writing always takes place starting at the current position.
For such devices, the value of the file pointer after a call to the spt_writevz() function is always
0 (zero).
Fewer bytes than requested can be written if there is not enough room to satisfy the request. In
this case, the number of bytes written is returned. For example, suppose there is space for 20
bytes more in a file before reaching a limit. A write request of 512 bytes returns a value of 20.
The limit reached can be either the end of the physical medium or the value that has been set by
the ulimit() function. The next write of a nonzero number of bytes gives a failure return (except
7−472 Hewlett-Packard Company 527186-023