diff options
author | jhb <jhb@FreeBSD.org> | 2015-05-04 14:47:00 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2015-05-04 14:47:00 +0000 |
commit | c8296a2c9540040222df62d9490fdbba987474b2 (patch) | |
tree | 7bab6a39431e32a7188f5978931cfa2fad91e67e /lib | |
parent | f3e222f33fd6bf065011201b7460e2da476f43f7 (diff) | |
download | FreeBSD-src-c8296a2c9540040222df62d9490fdbba987474b2.zip FreeBSD-src-c8296a2c9540040222df62d9490fdbba987474b2.tar.gz |
Various updates to the ftruncate(2) documentation:
- Note that ftruncate(2) can operate on shared memory objects and cross
reference shm_open(2).
- Note that ftruncate(2) does not change the file position pointer (aka
seek pointer) of the file descriptor.
- ftruncate(2) will fail with EINVAL for all sorts of other fd types than
just sockets, so instead note that it fails for all but regular files and
shared memory objects.
- Note that ftruncate(2) also appeared in 4.2BSD along with truncate(2).
(Or at least the manpage for both appeared in 4.2, I did not check the
kernel code itself to see if either predated 4.2.)
PR: 199472 (2)
Submitted by: andrew@ugh.net.au (2)
MFC after: 1 week
Diffstat (limited to 'lib')
-rw-r--r-- | lib/libc/sys/truncate.2 | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/lib/libc/sys/truncate.2 b/lib/libc/sys/truncate.2 index f06c1eb..0734464 100644 --- a/lib/libc/sys/truncate.2 +++ b/lib/libc/sys/truncate.2 @@ -28,7 +28,7 @@ .\" @(#)truncate.2 8.1 (Berkeley) 6/4/93 .\" $FreeBSD$ .\" -.Dd December 13, 2006 +.Dd May 4, 2015 .Dt TRUNCATE 2 .Os .Sh NAME @@ -60,9 +60,18 @@ is lost. If the file was smaller than this size, it will be extended as if by writing bytes with the value zero. -With -.Fn ftruncate , -the file must be open for writing. +.Pp +The +.Fn ftruncate +system call causes the file or shared memory object backing the file descriptor +.Fa fd +to be truncated or extended to +.Fa length +bytes in size. +The file descriptor must be a valid file descriptor open for writing. +The file position pointer associated with the file descriptor +.Fa fd +will not be modified. .Sh RETURN VALUES .Rv -std If the file to be modified is not a directory or @@ -129,7 +138,7 @@ is not a valid descriptor. The .Fa fd argument -references a socket, not a file. +references a file descriptor that is not a regular file or shared memory object. .It Bq Er EINVAL The .Fa fd @@ -138,11 +147,14 @@ is not open for writing. .El .Sh SEE ALSO .Xr chflags 2 , -.Xr open 2 +.Xr open 2 , +.Xr shm_open 2 .Sh HISTORY The .Fn truncate -system call appeared in +and +.Fn ftruncate +system calls appeared in .Bx 4.2 . .Sh BUGS These calls should be generalized to allow ranges |