5.4. ioctl MEDIA_IOC_DEVICE_INFO

5.4.1. 名稱

MEDIA_IOC_DEVICE_INFO - 查詢裝置資訊

5.4.2. 概要

MEDIA_IOC_DEVICE_INFO

int ioctl(int fd, MEDIA_IOC_DEVICE_INFO, struct media_device_info *argp)

5.4.3. 引數

fd

open() 返回的檔案描述符。

argp

指向 struct media_device_info 的指標。

5.4.4. 描述

所有媒體裝置都必須支援 MEDIA_IOC_DEVICE_INFO ioctl。 要查詢裝置資訊,應用程式使用指向 struct media_device_info 的指標呼叫ioctl。 驅動程式填充結構並返回資訊給應用程式。 ioctl永遠不會失敗。

type media_device_info
struct media_device_info

char

driver[16]

實現媒體API的驅動程式名稱,作為以NUL結尾的ASCII字串。 驅動程式版本儲存在 driver_version 欄位中。

驅動程式特定的應用程式可以使用此資訊來驗證驅動程式身份。 它對於解決已知的錯誤或在錯誤報告中識別驅動程式也很有用。

char

model[32]

裝置型號名稱,作為以NUL結尾的UTF-8字串。 裝置版本儲存在 device_version 欄位中,不會附加到型號名稱。

char

serial[40]

序列號,作為以NUL結尾的ASCII字串。

char

bus_info[32]

裝置在系統中的位置,作為以NUL結尾的ASCII字串。 這包括匯流排型別名稱(PCI,USB,...)和特定於匯流排的識別符號。

__u32

media_version

媒體API版本,使用 KERNEL_VERSION() 宏格式化。

__u32

hw_revision

硬體裝置修訂版,採用驅動程式特定的格式。

__u32

driver_version

媒體裝置驅動程式版本,使用 KERNEL_VERSION() 宏格式化。 與 driver 欄位一起,它可以識別特定的驅動程式。

__u32

reserved[31]

保留供將來擴充套件使用。 驅動程式和應用程式必須將此陣列設定為零。

The serialbus_info 欄位可以用於區分其他方面相同的硬體的多個例項。如果提供了序列號,則優先使用該序列號,並且可以認為它是唯一的。如果序列號是一個空字串,則可以使用 bus_info 欄位代替。 bus_info 欄位保證是唯一的,但可能因重新啟動或裝置插拔而異。

5.4.5. 返回值

成功時返回 0,錯誤時返回 -1 並且會適當設定 errno 變數。 泛型錯誤程式碼在 泛型錯誤程式碼 章節中進行了描述。