fchmodat() - Unix,Linux系統呼叫 - 技術教學
Tutorials Point


  Unix入門
  Unix Shell程式設計
  高階Unix
  Unix有用參考
  Unix有用資源
  精選閱讀

版權所有 © 2014 tutorialspoint



  首頁     參考資料     討論論壇     關於TP  

fchmodat() - Unix,Linux系統呼叫


previous next AddThis Social Bookmark Button

廣告

名稱

fchmodat - 更改相對於目錄檔案描述符的檔案許可權

概要

#include <sys/stat.h> 

int fchmodat(int dirfd, const char *path, mode_t mode ", int " flags );

描述

fchmodat() 系統呼叫與 chmod(2) 的操作方式完全相同,除了本手冊頁中描述的差異。

如果path中給出的路徑名是相對路徑,則它相對於檔案描述符dirfd所引用的目錄進行解釋(而不是相對於呼叫程序的當前工作目錄,chmod(2) 對相對路徑名就是這樣做的)。

如果path中給出的路徑名是相對路徑,並且dirfd是特殊值AT_FDCWD,則path相對於呼叫程序的當前工作目錄進行解釋(如同chmod(2))。

如果path中給出的路徑名是絕對路徑,則忽略dirfd

flags可以是0,也可以包含以下標誌

標籤描述
AT_SYMLINK_NOFOLLOW 如果path是一個符號連結,則不要取消其引用:而是在連結本身進行操作。此標誌目前未實現。

返回值

成功時,fchmodat() 返回 0。出錯時,返回 -1 並設定errno以指示錯誤。

錯誤

chmod(2) 中發生的錯誤也可能發生在 fchmodat() 中。fchmodat() 可能會發生以下附加錯誤:

標籤描述
EBADF dirfd不是有效的檔案描述符。
EINVAL flags中指定的標誌無效。
ENOTDIR path是相對路徑,並且dirfd是引用非目錄檔案的的檔案描述符。
ENOTSUP flags指定了AT_SYMLINK_NOFOLLOW,這是不支援的。

備註

有關fchmodat()的需求說明,請參閱openat(2)。

符合標準

此係統呼叫是非標準的,但建議將其包含在 POSIX.1 的未來修訂版中。

版本

fchmodat() 在 Linux 核心 2.6.16 中新增。

參見



previous next Printer Friendly

廣告


  

廣告



廣告