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 -- 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 <A 184 HREF="x5953.htm#V4L2-BUFFER" 185 >v4l2_buffer</A 186 > to the same buffer type as previously 187 struct <A 188 HREF="r10944.htm#V4L2-FORMAT" 189 >v4l2_format</A 190 > <CODE 191 CLASS="STRUCTFIELD" 192 >type</CODE 193 > and struct <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 <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