5.7. ioctl MEDIA_IOC_ENUM_LINKS¶
5.7.1. 名稱¶
MEDIA_IOC_ENUM_LINKS - 列舉給定實體的所有pad和link
5.7.2. 概要¶
-
MEDIA_IOC_ENUM_LINKS¶
int ioctl(int fd, MEDIA_IOC_ENUM_LINKS, struct media_links_enum *argp)
5.7.3. 引數¶
fd由
open()返回的檔案描述符。argp指向struct
media_links_enum的指標。
5.7.4. 描述¶
要列舉給定實體的pad和/或link,應用程式需要設定struct media_links_enum結構的entity欄位,並初始化由pads和links欄位指向的struct media_pad_desc和struct media_link_desc結構陣列。然後,它們使用指向此結構的指標呼叫MEDIA_IOC_ENUM_LINKS ioctl。
如果pads欄位不為NULL,則驅動程式將使用有關實體的pad的資訊填充pads陣列。 該陣列必須有足夠的空間來儲存實體的所有pad。 pad的數量可以使用ioctl MEDIA_IOC_ENUM_ENTITIES檢索。
如果links欄位不為NULL,則驅動程式將使用有關實體的出站link的資訊填充links陣列。 該陣列必須有足夠的空間來儲存實體的所有出站link。 出站link的數量可以使用ioctl MEDIA_IOC_ENUM_ENTITIES檢索。
在列舉過程中,僅返回源自實體源pad的前向link。
-
type media_links_enum¶
__u32 |
|
實體id,由應用程式設定。 |
struct |
* |
指向應用程式分配的pad陣列的指標。如果為NULL,則忽略。 |
struct |
* |
指向應用程式分配的link陣列的指標。如果為NULL,則忽略。 |
__u32 |
|
保留以供將來擴充套件。驅動程式和應用程式必須將陣列設定為零。 |
-
type media_pad_desc¶
__u32 |
|
ID of the entity this pad belongs to. |
__u16 |
|
Pad 索引,從 0 開始。 |
__u32 |
|
Pad 標誌,有關更多詳細資訊,請參見Media pad flags。 |
__u32 |
|
保留以供將來擴充套件。驅動程式和應用程式必須將陣列設定為零。 |
-
type media_link_desc¶
struct |
|
此link起點的Pad。 |
struct |
|
此link目標的Pad。 |
__u32 |
|
Link 標誌,有關更多詳細資訊,請參見Media link flags。 |
__u32 |
|
保留以供將來擴充套件。驅動程式和應用程式必須將陣列設定為零。 |
5.7.5. 返回值¶
成功時返回0,出錯時返回-1,並適當設定errno變數。通用錯誤程式碼在Generic Error Codes章節中描述。
- EINVAL
struct
media_links_enumid引用了不存在的實體。