symlink(7): Add lpathconf(2) and *at system calls.

MFC after:	1 week
This commit is contained in:
Jilles Tjoelker 2010-04-25 13:29:59 +00:00
parent 44f78be924
commit 141c21d9de
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=207189

View file

@ -103,19 +103,23 @@ the system call
would return a file descriptor to the file
.Dq afile .
.Pp
There are nine system calls that do not follow links, and which operate
There are thirteen system calls that do not follow links, and which operate
on the symbolic link itself.
They are:
.Xr lchflags 2 ,
.Xr lchmod 2 ,
.Xr lchown 2 ,
.Xr lpathconf 2 ,
.Xr lstat 2 ,
.Xr lutimes 2 ,
.Xr readlink 2 ,
.Xr readlinkat 2 ,
.Xr rename 2 ,
.Xr renameat 2 ,
.Xr rmdir 2 ,
.Xr unlink 2 ,
and
.Xr unlink 2 .
.Xr unlinkat 2 .
Because
.Xr remove 3
is an alias for
@ -123,9 +127,30 @@ is an alias for
it also does not follow symbolic links.
When
.Xr rmdir 2
or
.Xr unlinkat 2
with the
.Dv AT_REMOVEDIR
flag
is applied to a symbolic link, it fails with the error
.Er ENOTDIR .
.Pp
The
.Xr linkat 2
system call does not follow symbolic links
unless given the
.Dv AT_SYMLINK_FOLLOW
flag.
.Pp
The following system calls follow symbolic links
unless given the
.Dv AT_SYMLINK_NOFOLLOW
flag:
.Xr fchmodat 2 ,
.Xr fchownat 2
and
.Xr fstatat 2 .
.Pp
The owner and group of an existing symbolic link can be changed by
means of the
.Xr lchown 2