2010-08-18 22:41:22 +08:00
|
|
|
<refentry id="media-ioc-device-info">
|
|
|
|
<refmeta>
|
|
|
|
<refentrytitle>ioctl MEDIA_IOC_DEVICE_INFO</refentrytitle>
|
|
|
|
&manvol;
|
|
|
|
</refmeta>
|
|
|
|
|
|
|
|
<refnamediv>
|
|
|
|
<refname>MEDIA_IOC_DEVICE_INFO</refname>
|
|
|
|
<refpurpose>Query device information</refpurpose>
|
|
|
|
</refnamediv>
|
|
|
|
|
|
|
|
<refsynopsisdiv>
|
|
|
|
<funcsynopsis>
|
|
|
|
<funcprototype>
|
|
|
|
<funcdef>int <function>ioctl</function></funcdef>
|
|
|
|
<paramdef>int <parameter>fd</parameter></paramdef>
|
|
|
|
<paramdef>int <parameter>request</parameter></paramdef>
|
|
|
|
<paramdef>struct media_device_info *<parameter>argp</parameter></paramdef>
|
|
|
|
</funcprototype>
|
|
|
|
</funcsynopsis>
|
|
|
|
</refsynopsisdiv>
|
|
|
|
|
|
|
|
<refsect1>
|
|
|
|
<title>Arguments</title>
|
|
|
|
|
|
|
|
<variablelist>
|
|
|
|
<varlistentry>
|
|
|
|
<term><parameter>fd</parameter></term>
|
|
|
|
<listitem>
|
2009-12-09 19:40:01 +08:00
|
|
|
<para>File descriptor returned by
|
|
|
|
<link linkend='media-func-open'><function>open()</function></link>.</para>
|
2010-08-18 22:41:22 +08:00
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
|
|
<term><parameter>request</parameter></term>
|
|
|
|
<listitem>
|
|
|
|
<para>MEDIA_IOC_DEVICE_INFO</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
|
|
<term><parameter>argp</parameter></term>
|
|
|
|
<listitem>
|
|
|
|
<para></para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
</variablelist>
|
|
|
|
</refsect1>
|
|
|
|
|
|
|
|
<refsect1>
|
|
|
|
<title>Description</title>
|
|
|
|
|
|
|
|
<para>All media devices must support the <constant>MEDIA_IOC_DEVICE_INFO</constant>
|
|
|
|
ioctl. To query device information, applications call the ioctl with a
|
|
|
|
pointer to a &media-device-info;. The driver fills the structure and returns
|
|
|
|
the information to the application.
|
|
|
|
The ioctl never fails.</para>
|
|
|
|
|
|
|
|
<table pgwide="1" frame="none" id="media-device-info">
|
|
|
|
<title>struct <structname>media_device_info</structname></title>
|
|
|
|
<tgroup cols="3">
|
|
|
|
&cs-str;
|
|
|
|
<tbody valign="top">
|
|
|
|
<row>
|
|
|
|
<entry>char</entry>
|
|
|
|
<entry><structfield>driver</structfield>[16]</entry>
|
|
|
|
<entry><para>Name of the driver implementing the media API as a
|
|
|
|
NUL-terminated ASCII string. The driver version is stored in the
|
|
|
|
<structfield>driver_version</structfield> field.</para>
|
|
|
|
<para>Driver specific applications can use this information to
|
|
|
|
verify the driver identity. It is also useful to work around
|
|
|
|
known bugs, or to identify drivers in error reports.</para></entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>char</entry>
|
|
|
|
<entry><structfield>model</structfield>[32]</entry>
|
|
|
|
<entry>Device model name as a NUL-terminated UTF-8 string. The
|
|
|
|
device version is stored in the <structfield>device_version</structfield>
|
|
|
|
field and is not be appended to the model name.</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>char</entry>
|
|
|
|
<entry><structfield>serial</structfield>[40]</entry>
|
|
|
|
<entry>Serial number as a NUL-terminated ASCII string.</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>char</entry>
|
|
|
|
<entry><structfield>bus_info</structfield>[32]</entry>
|
|
|
|
<entry>Location of the device in the system as a NUL-terminated
|
|
|
|
ASCII string. This includes the bus type name (PCI, USB, ...) and a
|
|
|
|
bus-specific identifier.</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>__u32</entry>
|
|
|
|
<entry><structfield>media_version</structfield></entry>
|
|
|
|
<entry>Media API version, formatted with the
|
|
|
|
<constant>KERNEL_VERSION()</constant> macro.</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>__u32</entry>
|
|
|
|
<entry><structfield>hw_revision</structfield></entry>
|
|
|
|
<entry>Hardware device revision in a driver-specific format.</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>__u32</entry>
|
2015-07-02 21:32:39 +08:00
|
|
|
<entry><structfield>driver_version</structfield></entry>
|
2010-08-18 22:41:22 +08:00
|
|
|
<entry>Media device driver version, formatted with the
|
|
|
|
<constant>KERNEL_VERSION()</constant> macro. Together with the
|
|
|
|
<structfield>driver</structfield> field this identifies a particular
|
|
|
|
driver.</entry>
|
|
|
|
</row>
|
|
|
|
<row>
|
|
|
|
<entry>__u32</entry>
|
|
|
|
<entry><structfield>reserved</structfield>[31]</entry>
|
|
|
|
<entry>Reserved for future extensions. Drivers and applications must
|
|
|
|
set this array to zero.</entry>
|
|
|
|
</row>
|
|
|
|
</tbody>
|
|
|
|
</tgroup>
|
|
|
|
</table>
|
|
|
|
<para>The <structfield>serial</structfield> and <structfield>bus_info</structfield>
|
|
|
|
fields can be used to distinguish between multiple instances of otherwise
|
|
|
|
identical hardware. The serial number takes precedence when provided and can
|
|
|
|
be assumed to be unique. If the serial number is an empty string, the
|
|
|
|
<structfield>bus_info</structfield> field can be used instead. The
|
|
|
|
<structfield>bus_info</structfield> field is guaranteed to be unique, but
|
|
|
|
can vary across reboots or device unplug/replug.</para>
|
|
|
|
</refsect1>
|
|
|
|
|
|
|
|
<refsect1>
|
2011-07-05 22:37:58 +08:00
|
|
|
&return-value;
|
2010-08-18 22:41:22 +08:00
|
|
|
</refsect1>
|
|
|
|
</refentry>
|