fstatat()函数 Unix/Linux
2016-07-11 08:47
543 查看
fstatat - 得到相对文件的状态到一个目录文件描述符
The fstatat() system call operates in exactly the same way as stat(2), except for the differences described in this manual page.
If the pathname given in path is relative, then it is interpreted relative to the directory referred to by the file descriptor dirfd (rather than relative to the current working directory of the calling process, as is done by stat(2)
for a relative pathname).
If the pathname given in path is relative and dirfd is the special value AT_FDCWD, thenpath is interpreted relative to the current working directory of the calling process (likestat(2)).
If the pathname given in path is absolute, then dirfd is ignored.
flags can either be 0, or include the following flag:
On success, fstatat() returns 0. On error, -1 is returned and errno is set to indicate the error.
The same errors that occur for stat(2) can also occur for fstatat(). The following additional errors can occur for fstatat():
See openat(2) for an explanation of the need for fstatat().
This system call is non-standard but is proposed for inclusion in a future revision of POSIX.1. A similar system call exists on Solaris.
fstatat() was added to Linux in kernel 2.6.16.
openat (2)
path_resolution (2)
stat (2)
内容简介
#include <sys/stat.h> int fstatat(int dirfd, const char *path, struct stat * buf ", int " flags );
描述
The fstatat() system call operates in exactly the same way as stat(2), except for the differences described in this manual page.If the pathname given in path is relative, then it is interpreted relative to the directory referred to by the file descriptor dirfd (rather than relative to the current working directory of the calling process, as is done by stat(2)
for a relative pathname).
If the pathname given in path is relative and dirfd is the special value AT_FDCWD, thenpath is interpreted relative to the current working directory of the calling process (likestat(2)).
If the pathname given in path is absolute, then dirfd is ignored.
flags can either be 0, or include the following flag:
标签 | 描述 |
---|---|
AT_SYMLINK_NOFOLLOW | If path is a symbolic link, do not dereference it: instead return information about the link itself, like lstat(2). (By default, fstatat() dereferences symbolic links, likestat(2).) |
返回值
On success, fstatat() returns 0. On error, -1 is returned and errno is set to indicate the error.
错误
The same errors that occur for stat(2) can also occur for fstatat(). The following additional errors can occur for fstatat():标签 | 描述 |
---|---|
EBADF | dirfd is not a valid file descriptor. |
EINVAL | Invalid flag specified in flags. |
ENOTDIR | path is a relative path and dirfd is a file descriptor referring to a file other than a directory. |
注意
See openat(2) for an explanation of the need for fstatat().
遵循于
This system call is non-standard but is proposed for inclusion in a future revision of POSIX.1. A similar system call exists on Solaris.
版本
fstatat() was added to Linux in kernel 2.6.16.
另请参阅
openat (2)path_resolution (2)
stat (2)
相关文章推荐
- linux C之stat()
- linux下多线程之pthread_detach(pthread_self())
- linux 同步IO: sync、fsync与fdatasync
- 在 Linux 下使用任务管理器
- ASP.NET Core 发布至Linux生产环境 Ubuntu 系统
- linux内核版本号命名的那点事
- Linux下EasyPanel版本安装及升级
- Linux网络配置 CentOS 6/7
- redhat/centos 搭建svn服务器环境
- Linux入门---创建新用户
- linux下串口工具minicom
- NET Core1.0之CentOS平台开发控制台程序DEMO
- VirtualBox安装centos详解
- linux下的文件查找
- linux中的pidof工具简介
- Linux下MPI并行编程环境搭建配置
- 嵌入式linux基于netkit-ftp-0.17的ftp客户端移植
- Centos7安装完毕后重启提示Initial setup of CentOS Linux 7 (core)的解决方法
- Linux下的tree的简单使用
- Linux设备驱动之USB hub驱动