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

廣告


  

廣告



廣告