1.. -*- coding: utf-8; mode: rst -*- 2 3.. _VIDIOC_SUBDEV_ENUM_MBUS_CODE: 4 5********************************** 6ioctl VIDIOC_SUBDEV_ENUM_MBUS_CODE 7********************************** 8 9Name 10==== 11 12VIDIOC_SUBDEV_ENUM_MBUS_CODE - Enumerate media bus formats 13 14 15Synopsis 16======== 17 18.. c:function:: int ioctl( int fd, VIDIOC_SUBDEV_ENUM_MBUS_CODE, struct v4l2_subdev_mbus_code_enum * argp ) 19 :name: VIDIOC_SUBDEV_ENUM_MBUS_CODE 20 21 22Arguments 23========= 24 25``fd`` 26 File descriptor returned by :ref:`open() <func-open>`. 27 28``argp`` 29 30 31Description 32=========== 33 34To enumerate media bus formats available at a given sub-device pad 35applications initialize the ``pad``, ``which`` and ``index`` fields of 36struct 37:c:type:`v4l2_subdev_mbus_code_enum` and 38call the :ref:`VIDIOC_SUBDEV_ENUM_MBUS_CODE` ioctl with a pointer to this 39structure. Drivers fill the rest of the structure or return an ``EINVAL`` 40error code if either the ``pad`` or ``index`` are invalid. All media bus 41formats are enumerable by beginning at index zero and incrementing by 42one until ``EINVAL`` is returned. 43 44Available media bus formats may depend on the current 'try' formats at 45other pads of the sub-device, as well as on the current active links. 46See :ref:`VIDIOC_SUBDEV_G_FMT` for more 47information about the try formats. 48 49 50.. c:type:: v4l2_subdev_mbus_code_enum 51 52.. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}| 53 54.. flat-table:: struct v4l2_subdev_mbus_code_enum 55 :header-rows: 0 56 :stub-columns: 0 57 :widths: 1 1 2 58 59 * - __u32 60 - ``pad`` 61 - Pad number as reported by the media controller API. 62 * - __u32 63 - ``index`` 64 - Number of the format in the enumeration, set by the application. 65 * - __u32 66 - ``code`` 67 - The media bus format code, as defined in 68 :ref:`v4l2-mbus-format`. 69 * - __u32 70 - ``which`` 71 - Media bus format codes to be enumerated, from enum 72 :ref:`v4l2_subdev_format_whence <v4l2-subdev-format-whence>`. 73 * - __u32 74 - ``reserved``\ [8] 75 - Reserved for future extensions. Applications and drivers must set 76 the array to zero. 77 78 79Return Value 80============ 81 82On success 0 is returned, on error -1 and the ``errno`` variable is set 83appropriately. The generic error codes are described at the 84:ref:`Generic Error Codes <gen-errors>` chapter. 85 86EINVAL 87 The struct 88 :c:type:`v4l2_subdev_mbus_code_enum` 89 ``pad`` references a non-existing pad, or the ``index`` field is out 90 of bounds. 91