WRITE.2
资源名称:os_source.zip [点击查看]
上传用户:datang2001
上传日期:2007-02-01
资源大小:53269k
文件大小:2k
源码类别:
操作系统开发
开发平台:
C/C++
- ." Copyright (c) 1980 Regents of the University of California.
- ." All rights reserved. The Berkeley software License Agreement
- ." specifies the terms and conditions for redistribution.
- ."
- ." @(#)write.2 6.5 (Berkeley) 5/14/86
- ."
- .TH WRITE 2 "May 14, 1986"
- .UC 4
- .SH NAME
- write - write output
- .SH SYNOPSIS
- .nf
- .ft B
- #include <sys/types.h>
- #include <unistd.h>
- ssize_t write(int fIdfP, const void *fIbuffP, size_t fInbytesfP)
- .fi
- .SH DESCRIPTION
- .B Write
- attempts to write
- .I nbytes
- of data to the object referenced by the descriptor
- .I d
- from the buffer pointed to by
- .IR buf .
- .PP
- On objects capable of seeking, the fBwritefP starts at a position
- given by the pointer associated with
- .IR d ,
- see
- .BR lseek (2).
- Upon return from
- .BR write ,
- the pointer is incremented by the number of bytes actually written.
- .PP
- Objects that are not capable of seeking always write from the current
- position. The value of the pointer associated with such an object
- is undefined.
- .PP
- When using non-blocking I/O on objects such as TCP/IP channels that are
- subject to flow control,
- .B write
- may write fewer bytes than requested;
- the return value must be noted,
- and the remainder of the operation should be retried when possible.
- .SH "RETURN VALUE
- Upon successful completion the number of bytes actually written
- is returned. Otherwise a -1 is returned and the global variable
- .B errno
- is set to indicate the error.
- .SH ERRORS
- .B Write
- will fail and the file pointer will remain unchanged if one or more
- of the following are true:
- .TP 15
- [EBADF]
- fIDfP is not a valid descriptor open for writing.
- .TP 15
- [EPIPE]
- An attempt is made to write to a pipe that is not open
- for reading by any process.
- .TP 15
- [EPIPE]
- An attempt is made to write to a TCP channel
- that is not connected to a peer socket.
- .TP 15
- [EFBIG]
- An attempt was made to write a file that exceeds the process's
- file size limit or the maximum file size.
- .TP 15
- [EFAULT]
- Part of the data to be written to the file
- points outside the process's allocated address space.
- .TP 15
- [ENOSPC]
- There is no free space remaining on the file system
- containing the file.
- .ig
- .TP 15
- [EDQUOT]
- The user's quota of disk blocks on the file system
- containing the file has been exhausted.
- ..
- .TP 15
- [EIO]
- An I/O error occurred while reading from or writing to the file system.
- .TP 15
- [EAGAIN]
- The file was marked for non-blocking I/O,
- and no data could be written immediately.
- .SH "SEE ALSO"
- .BR fcntl (2),
- .BR lseek (2),
- .BR open (2),
- .BR pipe (2),
- .BR read (2).