Home | History | Annotate | Download | only in spec
      1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
      2 <HTML
      3 ><HEAD
      4 ><TITLE
      5 >ioctl VIDIOC_QUERYBUF</TITLE
      6 ><META
      7 NAME="GENERATOR"
      8 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
      9 REL="HOME"
     10 TITLE="Video for Linux Two API Specification"
     11 HREF="book1.htm"><LINK
     12 REL="UP"
     13 TITLE="Function Reference"
     14 HREF="r7624.htm"><LINK
     15 REL="PREVIOUS"
     16 TITLE="ioctl VIDIOC_QBUF, VIDIOC_DQBUF"
     17 HREF="r12878.htm"><LINK
     18 REL="NEXT"
     19 TITLE="ioctl VIDIOC_QUERYCAP"
     20 HREF="r13105.htm"></HEAD
     21 ><BODY
     22 CLASS="REFENTRY"
     23 BGCOLOR="#FFFFFF"
     24 TEXT="#000000"
     25 LINK="#0000FF"
     26 VLINK="#840084"
     27 ALINK="#0000FF"
     28 ><DIV
     29 CLASS="NAVHEADER"
     30 ><TABLE
     31 SUMMARY="Header navigation table"
     32 WIDTH="100%"
     33 BORDER="0"
     34 CELLPADDING="0"
     35 CELLSPACING="0"
     36 ><TR
     37 ><TH
     38 COLSPAN="3"
     39 ALIGN="center"
     40 >Video for Linux Two API Specification: Revision 0.24</TH
     41 ></TR
     42 ><TR
     43 ><TD
     44 WIDTH="10%"
     45 ALIGN="left"
     46 VALIGN="bottom"
     47 ><A
     48 HREF="r12878.htm"
     49 ACCESSKEY="P"
     50 >Prev</A
     51 ></TD
     52 ><TD
     53 WIDTH="80%"
     54 ALIGN="center"
     55 VALIGN="bottom"
     56 ></TD
     57 ><TD
     58 WIDTH="10%"
     59 ALIGN="right"
     60 VALIGN="bottom"
     61 ><A
     62 HREF="r13105.htm"
     63 ACCESSKEY="N"
     64 >Next</A
     65 ></TD
     66 ></TR
     67 ></TABLE
     68 ><HR
     69 ALIGN="LEFT"
     70 WIDTH="100%"></DIV
     71 ><H1
     72 ><A
     73 NAME="VIDIOC-QUERYBUF"
     74 ></A
     75 >ioctl VIDIOC_QUERYBUF</H1
     76 ><DIV
     77 CLASS="REFNAMEDIV"
     78 ><A
     79 NAME="AEN13026"
     80 ></A
     81 ><H2
     82 >Name</H2
     83 >VIDIOC_QUERYBUF&nbsp;--&nbsp;Query the status of a buffer</DIV
     84 ><DIV
     85 CLASS="REFSYNOPSISDIV"
     86 ><A
     87 NAME="AEN13029"
     88 ></A
     89 ><H2
     90 >Synopsis</H2
     91 ><DIV
     92 CLASS="FUNCSYNOPSIS"
     93 ><P
     94 ></P
     95 ><A
     96 NAME="AEN13030"
     97 ></A
     98 ><P
     99 ><CODE
    100 ><CODE
    101 CLASS="FUNCDEF"
    102 >int ioctl</CODE
    103 >(int fd, int request, struct v4l2_buffer *argp);</CODE
    104 ></P
    105 ><P
    106 ></P
    107 ></DIV
    108 ></DIV
    109 ><DIV
    110 CLASS="REFSECT1"
    111 ><A
    112 NAME="AEN13040"
    113 ></A
    114 ><H2
    115 >Arguments</H2
    116 ><P
    117 ></P
    118 ><DIV
    119 CLASS="VARIABLELIST"
    120 ><DL
    121 ><DT
    122 ><CODE
    123 CLASS="PARAMETER"
    124 >fd</CODE
    125 ></DT
    126 ><DD
    127 ><P
    128 >File descriptor returned by <A
    129 HREF="r14090.htm"
    130 ><CODE
    131 CLASS="FUNCTION"
    132 >open()</CODE
    133 ></A
    134 >.</P
    135 ></DD
    136 ><DT
    137 ><CODE
    138 CLASS="PARAMETER"
    139 >request</CODE
    140 ></DT
    141 ><DD
    142 ><P
    143 >VIDIOC_QUERYBUF</P
    144 ></DD
    145 ><DT
    146 ><CODE
    147 CLASS="PARAMETER"
    148 >argp</CODE
    149 ></DT
    150 ><DD
    151 ><P
    152 ></P
    153 ></DD
    154 ></DL
    155 ></DIV
    156 ></DIV
    157 ><DIV
    158 CLASS="REFSECT1"
    159 ><A
    160 NAME="AEN13060"
    161 ></A
    162 ><H2
    163 >Description</H2
    164 ><P
    165 >This ioctl is part of the <A
    166 HREF="x5791.htm"
    167 >memory
    168 mapping</A
    169 > I/O method. It can be used to query the status of a
    170 buffer at any time after buffers have been allocated with the
    171 <A
    172 HREF="r13696.htm"
    173 ><CODE
    174 CLASS="CONSTANT"
    175 >VIDIOC_REQBUFS</CODE
    176 ></A
    177 > ioctl.</P
    178 ><P
    179 >Applications set the <CODE
    180 CLASS="STRUCTFIELD"
    181 >type</CODE
    182 > field
    183     of a struct&nbsp;<A
    184 HREF="x5953.htm#V4L2-BUFFER"
    185 >v4l2_buffer</A
    186 > to the same buffer type as previously
    187 struct&nbsp;<A
    188 HREF="r10944.htm#V4L2-FORMAT"
    189 >v4l2_format</A
    190 > <CODE
    191 CLASS="STRUCTFIELD"
    192 >type</CODE
    193 > and struct&nbsp;<A
    194 HREF="r13696.htm#V4L2-REQUESTBUFFERS"
    195 >v4l2_requestbuffers</A
    196 >
    197 <CODE
    198 CLASS="STRUCTFIELD"
    199 >type</CODE
    200 >, and the <CODE
    201 CLASS="STRUCTFIELD"
    202 >index</CODE
    203 >
    204     field. Valid index numbers range from zero
    205 to the number of buffers allocated with <A
    206 HREF="r13696.htm"
    207 ><CODE
    208 CLASS="CONSTANT"
    209 >VIDIOC_REQBUFS</CODE
    210 ></A
    211 >
    212     (struct&nbsp;<A
    213 HREF="r13696.htm#V4L2-REQUESTBUFFERS"
    214 >v4l2_requestbuffers</A
    215 > <CODE
    216 CLASS="STRUCTFIELD"
    217 >count</CODE
    218 >) minus one.
    219 After calling <CODE
    220 CLASS="CONSTANT"
    221 >VIDIOC_QUERYBUF</CODE
    222 > with a pointer to
    223     this structure drivers return an error code or fill the rest of
    224 the structure.</P
    225 ><P
    226 >In the <CODE
    227 CLASS="STRUCTFIELD"
    228 >flags</CODE
    229 > field the
    230 <CODE
    231 CLASS="CONSTANT"
    232 >V4L2_BUF_FLAG_MAPPED</CODE
    233 >,
    234 <CODE
    235 CLASS="CONSTANT"
    236 >V4L2_BUF_FLAG_QUEUED</CODE
    237 > and
    238 <CODE
    239 CLASS="CONSTANT"
    240 >V4L2_BUF_FLAG_DONE</CODE
    241 > flags will be valid. The
    242 <CODE
    243 CLASS="STRUCTFIELD"
    244 >memory</CODE
    245 > field will be set to
    246 <CODE
    247 CLASS="CONSTANT"
    248 >V4L2_MEMORY_MMAP</CODE
    249 >, the <CODE
    250 CLASS="STRUCTFIELD"
    251 >m.offset</CODE
    252 >
    253 contains the offset of the buffer from the start of the device memory,
    254 the <CODE
    255 CLASS="STRUCTFIELD"
    256 >length</CODE
    257 > field its size. The driver may
    258 or may not set the remaining fields and flags, they are meaningless in
    259 this context.</P
    260 ><P
    261 >The <CODE
    262 CLASS="STRUCTNAME"
    263 >v4l2_buffer</CODE
    264 > structure is
    265     specified in <A
    266 HREF="x5953.htm"
    267 >Section 3.5</A
    268 >.</P
    269 ></DIV
    270 ><DIV
    271 CLASS="REFSECT1"
    272 ><A
    273 NAME="AEN13091"
    274 ></A
    275 ><H2
    276 >Return Value</H2
    277 ><P
    278 >On success <SPAN
    279 CLASS="RETURNVALUE"
    280 >0</SPAN
    281 > is returned, on error <SPAN
    282 CLASS="RETURNVALUE"
    283 >-1</SPAN
    284 > and the <CODE
    285 CLASS="VARNAME"
    286 >errno</CODE
    287 > variable is set appropriately:</P
    288 ><P
    289 ></P
    290 ><DIV
    291 CLASS="VARIABLELIST"
    292 ><DL
    293 ><DT
    294 ><SPAN
    295 CLASS="ERRORCODE"
    296 >EINVAL</SPAN
    297 ></DT
    298 ><DD
    299 ><P
    300 >The buffer <CODE
    301 CLASS="STRUCTFIELD"
    302 >type</CODE
    303 > is not
    304 supported, or the <CODE
    305 CLASS="STRUCTFIELD"
    306 >index</CODE
    307 > is out of bounds.</P
    308 ></DD
    309 ></DL
    310 ></DIV
    311 ></DIV
    312 ><DIV
    313 CLASS="NAVFOOTER"
    314 ><HR
    315 ALIGN="LEFT"
    316 WIDTH="100%"><TABLE
    317 SUMMARY="Footer navigation table"
    318 WIDTH="100%"
    319 BORDER="0"
    320 CELLPADDING="0"
    321 CELLSPACING="0"
    322 ><TR
    323 ><TD
    324 WIDTH="33%"
    325 ALIGN="left"
    326 VALIGN="top"
    327 ><A
    328 HREF="r12878.htm"
    329 ACCESSKEY="P"
    330 >Prev</A
    331 ></TD
    332 ><TD
    333 WIDTH="34%"
    334 ALIGN="center"
    335 VALIGN="top"
    336 ><A
    337 HREF="book1.htm"
    338 ACCESSKEY="H"
    339 >Home</A
    340 ></TD
    341 ><TD
    342 WIDTH="33%"
    343 ALIGN="right"
    344 VALIGN="top"
    345 ><A
    346 HREF="r13105.htm"
    347 ACCESSKEY="N"
    348 >Next</A
    349 ></TD
    350 ></TR
    351 ><TR
    352 ><TD
    353 WIDTH="33%"
    354 ALIGN="left"
    355 VALIGN="top"
    356 >ioctl VIDIOC_QBUF, VIDIOC_DQBUF</TD
    357 ><TD
    358 WIDTH="34%"
    359 ALIGN="center"
    360 VALIGN="top"
    361 ><A
    362 HREF="r7624.htm"
    363 ACCESSKEY="U"
    364 >Up</A
    365 ></TD
    366 ><TD
    367 WIDTH="33%"
    368 ALIGN="right"
    369 VALIGN="top"
    370 >ioctl VIDIOC_QUERYCAP</TD
    371 ></TR
    372 ></TABLE
    373 ></DIV
    374 ></BODY
    375 ></HTML
    376 >
    377