fstatat() - Unix,Linux 系统调用 - 技术教程
Tutorials Point


  Unix 初学者指南
  Unix Shell 编程
  高级 Unix
  Unix 有用参考
  Unix 有用资源
  精选阅读

版权所有 © 2014 tutorialspoint



  首页     参考     讨论论坛     关于TP  

fstatat() - Unix,Linux 系统调用


previous next AddThis Social Bookmark Button

广告

名称

fstatat - 获取相对于目录文件描述符的文件状态

语法

#include <sys/stat.h> 

int fstatat(int dirfd, const char *path, struct stat * buf ", int " flags );

描述

fstatat() 系统调用与 stat(2) 的操作方式完全相同,除了本手册页中描述的不同之处。

如果path中给定的路径名是相对路径,则将其解释为相对于文件描述符dirfd所引用的目录(而不是相对于调用进程的当前工作目录,stat(2) 对相对路径名就是这样做的)。

如果path中给定的路径名是相对路径,并且dirfd是特殊值AT_FDCWD,则path将相对于调用进程的当前工作目录进行解释(类似于stat(2))。

如果path中给定的路径名是绝对路径,则忽略dirfd

flags可以是0,也可以包含以下标志

标签描述
AT_SYMLINK_NOFOLLOW 如果path是符号链接,则不要取消引用它:而是返回有关链接本身的信息,如lstat(2)。(默认情况下,fstatat() 取消引用符号链接,如stat(2))。

返回值

成功时,fstatat() 返回 0。错误时,返回 -1 并且errno被设置为指示错误。

错误

stat(2) 发生的相同错误也可能发生在fstatat() 中。以下其他错误可能发生在fstatat() 中

标签描述
EBADF dirfd不是有效的文件描述符。
EINVAL flags中指定了无效标志。
ENOTDIR path是相对路径,并且dirfd是引用文件(而不是目录)的文件描述符。

注释

有关fstatat() 需要的原因,请参阅openat(2)。

符合标准

此系统调用是非标准的,但建议将其包含在 POSIX.1 的未来修订版中。Solaris 上存在类似的系统调用。

版本

fstatat() 在 Linux 内核 2.6.16 中添加。

参见



previous next Printer Friendly

广告


  

广告



广告
© . All rights reserved.