通用錯誤碼¶
|
由於裝置狀態不允許執行,ioctl 無法處理。例如,當裝置處於休眠狀態且執行 ioctl 以查詢統計資訊時,可能會發生這種情況。當 ioctl 需要等待事件但裝置以非阻塞模式開啟時,也會返回此錯誤。 |
|
檔案描述符無效。 |
|
由於裝置正忙,ioctl 無法處理。這通常發生在裝置正在流式傳輸時,並且 ioctl 試圖更改會影響流的內容,或者需要使用已分配的硬體資源。在未先執行其他操作以解決問題(通常是:在重試之前停止流)的情況下,不得重試該 ioctl。 |
|
從/向用戶空間複製資料時發生故障,可能是由無效指標引用引起的。 |
|
一個或多個 ioctl 引數無效或超出允許範圍。這是一個廣泛使用的錯誤碼。有關具體原因,請參閱各個 ioctl 請求的描述。 |
|
裝置未找到或已被移除。 |
|
沒有足夠的記憶體來處理所需的操作。 |
|
檔案描述符不支援此 ioctl。 |
|
在 USB 裝置上,流式 ioctl 可能會返回此錯誤,這意味著此請求將超出為週期性傳輸保留的 USB 頻寬(高達 USB 頻寬的 80%)。 |
|
許可權被拒絕。如果裝置需要寫入許可權,或需要某些特殊能力(例如 root 許可權),則可能返回此錯誤。 |
|
I/O 錯誤。通常在與硬體裝置通訊出現問題時使用。這可能表明硬體損壞或不穩定。這是一種“出錯了,我放棄!”的錯誤型別。 |
|
不存在與此裝置特殊檔案對應的裝置。 |
注意
此列表並非詳盡無遺;ioctl 可能會返回其他錯誤碼。由於錯誤可能產生副作用,例如驅動程式重置,因此應用程式應在遇到意外錯誤時中止,或者假定裝置處於不良狀態。
請求特定的錯誤碼列在各個請求的描述中。