5.6. ioctl MEDIA_IOC_ENUM_ENTITIES¶
5.6.1. 名稱¶
MEDIA_IOC_ENUM_ENTITIES - 列舉實體及其屬性
5.6.2. 概要¶
-
MEDIA_IOC_ENUM_ENTITIES¶
int ioctl(int fd, MEDIA_IOC_ENUM_ENTITIES, struct media_entity_desc *argp)
5.6.3. 引數¶
fdopen()返回的檔案描述符。argp指向 struct
media_entity_desc的指標。
5.6.4. 描述¶
要查詢實體的屬性,應用程式設定 struct media_entity_desc 結構的 id 欄位,並使用指向此結構的指標呼叫 MEDIA_IOC_ENUM_ENTITIES ioctl。如果 id 無效,驅動程式將填充結構的其餘部分或返回 EINVAL 錯誤程式碼。
可以透過將 id 與 MEDIA_ENT_ID_FLAG_NEXT 標誌進行或運算來列舉實體。驅動程式將返回有關 id 嚴格大於請求的 id 的最小實體(“下一個實體”)的資訊,如果不存在則返回 EINVAL 錯誤程式碼。
實體 ID 可以是不連續的。應用程式不能嘗試透過使用遞增的 id 呼叫 MEDIA_IOC_ENUM_ENTITIES 直到出現錯誤來列舉實體。
-
type media_entity_desc¶
__u32 |
|
實體 ID,由應用程式設定。當 ID 與 |
|
char |
|
實體名稱,作為以 NULL 結尾的 UTF-8 字串。此名稱在媒體拓撲中必須是唯一的。 |
|
__u32 |
|
實體型別,有關詳細資訊,請參見 媒體實體功能。 |
|
__u32 |
|
實體修訂版本。始終為零(已過時) |
|
__u32 |
|
實體標誌,有關詳細資訊,請參見 媒體實體標誌。 |
|
__u32 |
|
實體組 ID。始終為零(已過時) |
|
__u16 |
|
pad 的數量 |
|
__u16 |
|
出站連結的總數。此欄位中不計算入站連結。 |
|
__u32 |
|
保留用於將來的擴充套件。驅動程式和應用程式必須將陣列設定為零。 |
|
union { |
(anonymous) |
||
struct |
|
對於建立單個裝置節點(子)裝置有效。 |
|
__u32 |
|
裝置節點主號碼。 |
|
__u32 |
|
裝置節點次號碼。 |
|
__u8 |
|
||
} |
|||
5.6.5. 返回值¶
成功時返回 0,出錯時返回 -1,並適當設定 errno 變數。通用錯誤程式碼在 通用錯誤程式碼 章節中進行了描述。
- EINVAL
struct
media_entity_descid引用了一個不存在的實體。