| <refentry id="vidioc-g-priority"> | 
 |   <refmeta> | 
 |     <refentrytitle>ioctl VIDIOC_G_PRIORITY, VIDIOC_S_PRIORITY</refentrytitle> | 
 |     &manvol; | 
 |   </refmeta> | 
 |  | 
 |   <refnamediv> | 
 |     <refname>VIDIOC_G_PRIORITY</refname> | 
 |     <refname>VIDIOC_S_PRIORITY</refname> | 
 |     <refpurpose>Query or request the access priority associated with a | 
 | file descriptor</refpurpose> | 
 |   </refnamediv> | 
 |  | 
 |   <refsynopsisdiv> | 
 |     <funcsynopsis> | 
 |       <funcprototype> | 
 | 	<funcdef>int <function>ioctl</function></funcdef> | 
 | 	<paramdef>int <parameter>fd</parameter></paramdef> | 
 | 	<paramdef>int <parameter>request</parameter></paramdef> | 
 | 	<paramdef>enum v4l2_priority *<parameter>argp</parameter></paramdef> | 
 |       </funcprototype> | 
 |     </funcsynopsis> | 
 |     <funcsynopsis> | 
 |       <funcprototype> | 
 | 	<funcdef>int <function>ioctl</function></funcdef> | 
 | 	<paramdef>int <parameter>fd</parameter></paramdef> | 
 | 	<paramdef>int <parameter>request</parameter></paramdef> | 
 | 	<paramdef>const enum v4l2_priority *<parameter>argp</parameter></paramdef> | 
 |       </funcprototype> | 
 |     </funcsynopsis> | 
 |   </refsynopsisdiv> | 
 |  | 
 |   <refsect1> | 
 |     <title>Arguments</title> | 
 |  | 
 |     <variablelist> | 
 |       <varlistentry> | 
 | 	<term><parameter>fd</parameter></term> | 
 | 	<listitem> | 
 | 	  <para>&fd;</para> | 
 | 	</listitem> | 
 |       </varlistentry> | 
 |       <varlistentry> | 
 | 	<term><parameter>request</parameter></term> | 
 | 	<listitem> | 
 | 	  <para>VIDIOC_G_PRIORITY, VIDIOC_S_PRIORITY</para> | 
 | 	</listitem> | 
 |       </varlistentry> | 
 |       <varlistentry> | 
 | 	<term><parameter>argp</parameter></term> | 
 | 	<listitem> | 
 | 	  <para>Pointer to an enum v4l2_priority type.</para> | 
 | 	</listitem> | 
 |       </varlistentry> | 
 |     </variablelist> | 
 |   </refsect1> | 
 |  | 
 |   <refsect1> | 
 |     <title>Description</title> | 
 |  | 
 |     <para>To query the current access priority | 
 | applications call the <constant>VIDIOC_G_PRIORITY</constant> ioctl | 
 | with a pointer to an enum v4l2_priority variable where the driver stores | 
 | the current priority.</para> | 
 |  | 
 |     <para>To request an access priority applications store the | 
 | desired priority in an enum v4l2_priority variable and call | 
 | <constant>VIDIOC_S_PRIORITY</constant> ioctl with a pointer to this | 
 | variable.</para> | 
 |  | 
 |     <table frame="none" pgwide="1" id="v4l2-priority"> | 
 |       <title>enum v4l2_priority</title> | 
 |       <tgroup cols="3"> | 
 | 	&cs-def; | 
 | 	<tbody valign="top"> | 
 | 	  <row> | 
 | 	    <entry><constant>V4L2_PRIORITY_UNSET</constant></entry> | 
 | 	    <entry>0</entry> | 
 | 	    <entry></entry> | 
 | 	  </row> | 
 | 	  <row> | 
 | 	    <entry><constant>V4L2_PRIORITY_BACKGROUND</constant></entry> | 
 | 	    <entry>1</entry> | 
 | 	    <entry>Lowest priority, usually applications running in | 
 | background, for example monitoring VBI transmissions. A proxy | 
 | application running in user space will be necessary if multiple | 
 | applications want to read from a device at this priority.</entry> | 
 | 	  </row> | 
 | 	  <row> | 
 | 	    <entry><constant>V4L2_PRIORITY_INTERACTIVE</constant></entry> | 
 | 	    <entry>2</entry> | 
 | 	    <entry></entry> | 
 | 	  </row> | 
 | 	  <row> | 
 | 	    <entry><constant>V4L2_PRIORITY_DEFAULT</constant></entry> | 
 | 	    <entry>2</entry> | 
 | 	    <entry>Medium priority, usually applications started and | 
 | interactively controlled by the user. For example TV viewers, Teletext | 
 | browsers, or just "panel" applications to change the channel or video | 
 | controls. This is the default priority unless an application requests | 
 | another.</entry> | 
 | 	  </row> | 
 | 	  <row> | 
 | 	    <entry><constant>V4L2_PRIORITY_RECORD</constant></entry> | 
 | 	    <entry>3</entry> | 
 | 	    <entry>Highest priority. Only one file descriptor can have | 
 | this priority, it blocks any other fd from changing device properties. | 
 | Usually applications which must not be interrupted, like video | 
 | recording.</entry> | 
 | 	  </row> | 
 | 	</tbody> | 
 |       </tgroup> | 
 |     </table> | 
 |   </refsect1> | 
 |  | 
 |   <refsect1> | 
 |     &return-value; | 
 |  | 
 |     <variablelist> | 
 |       <varlistentry> | 
 | 	<term><errorcode>EINVAL</errorcode></term> | 
 | 	<listitem> | 
 | 	  <para>The requested priority value is invalid, or the | 
 | driver does not support access priorities.</para> | 
 | 	</listitem> | 
 |       </varlistentry> | 
 |       <varlistentry> | 
 | 	<term><errorcode>EBUSY</errorcode></term> | 
 | 	<listitem> | 
 | 	  <para>Another application already requested higher | 
 | priority.</para> | 
 | 	</listitem> | 
 |       </varlistentry> | 
 |     </variablelist> | 
 |   </refsect1> | 
 | </refentry> | 
 |  | 
 | <!-- | 
 | Local Variables: | 
 | mode: sgml | 
 | sgml-parent-document: "v4l2.sgml" | 
 | indent-tabs-mode: nil | 
 | End: | 
 | --> |