我在哪裏可以找到STAT
系列調用系列期望的結構的精確定義?傳遞給STAT系統調用的結構的精確定義是什麼?
請注意,我指的是原系統調用一個會在組裝調用(系統調用號4
,5
和6
在x86_64),而不是那些通常由libc中提供的包裝。
手冊頁,stat(2)
,以及我能夠從linux和glibc源代碼中挖掘出的內容給出了令人困惑和矛盾的結果(不同的結構字段排序,Extra字段,填充)。
我敢肯定,我沒有找到我應該在哪裏,但我似乎無法找到我所追求的信息。這導致我發佈這個問題。
澄清:我追求的是stat結構的確切定義爲通過在任何給定的架構系統調用返回。我知道我可以通過實驗確定這些信息。實驗僅限於我的特定體系結構。此外,我期待着某些與Linux ABI中使用的數據結構一樣重要的東西被記錄在某處。我想知道在哪裏。
問題here沒有此信息中所要求的信息。請取消將此帖標記爲重複。
爲什麼你認爲系統調用4,5,6代表'的stat()系統調用'?正如我從[這裏](http://lxr.free-electrons.com/source/include/uapi/asm-generic/unistd.h)可以看到的,它們是'__NR_io_getevents','__NR_setxattr','__NR_lsetxattr'。我錯過了什麼嗎?另外,你指的是哪個特定的內核版本? – 2015-03-26 12:25:35
@SamProtsenko這是我傳遞給系統調用指令的數字。在我的系統'x86_64/3.13.0'中,'SYS_STAT'被定義爲'__NR_stat',在文件'/ usr/include/x86_64-linux-gnu/asm/unistd_64.h'中定義爲' – urubi 2015-03-27 03:41:38