WRITE(2)

NAME
write - write to a file descriptor

SYNOPSIS
#include <sys/types.h>
#include <unistd.h>

size_t write(int fd, const char *buf, size_t count);

DESCRIPTION
write writes up to count bytes from file descriptor fd from the buffer starting at buf.

RETURN VALUE
On success, the number of bytes written are returned (zero indicates end of file). On error, -1 is returned, and errno is set appropriately.

ERRORS

EBADF
    fd is not a valid file descriptor or is not open for writing.

EINVAL
    fd is attached to an object which is unsuitable for writing.

EFAULT
    buf is outside your accessible address space.

EPIPE
    fd is connected to a pipe or socket whose reading end is closed. When this happens the writing process will receive a SIGPIPE signal; if it catches, blocks or ignores this the error EPIPE is returned.

EAGAIN
    Non-blocking I/O has been selected using O_NONBLOCK and there was no room in the pipe or socket connected to fd to write the data immediately.

EINTR
    The call was interrupted by a signal before any data was written.

ENOSPC
    The device containing the file referred to by fd has no room for the data. Other errors may occur, depending on the object connected to fd.

CONFORMING TO
SVID, AT&T, POSIX, X/OPEN, BSD 4.3

SEE ALSO
open(2), read(2), fcntl(2), close(2), lseek(2), select(2), ioctl(2), fwrite(3).