write file-descriptor vector start end => effective-count, error
file-descriptor -- A non-negative fixnum.
vector -- A vector with element-type (unsigned-byte 8).
start -- A non-negative fixnum.
end -- A non-negative fixnum.
effective-count -- A non-negative fixnum.
error -- A fixnum.
The function write writes up to end - start bytes to the file descriptor file-descriptor, starting at offset start in vector.
The number of bytes written may be less than end - start if, for example, there is insufficient space on the underlying physical medium, or the +rlimit-fsize+ resource limit is encountered (see setrlimit), or the call was interrupted by a signal handler after having written less than end - start bytes.
If file-descriptor refers to a file other than a socket and has been marked nonblocking, and the write would block, then the value of error is +eagain+.
If file-descriptor is not a valid file descriptor, or not open for writing, the value of error is +ebadf+.
If the call was interrupted by a signal before any data was written, then the value of error is +eintr+.
If file-descriptor is attached to an object which is unsuitable for writing; or the file was opened with the +o-direct+ flag, and either the value specified by end - start, or the current file offset is not suitably aligned, then the value of error is +einval+.
FIXME: more here...