This ioctl is part of the memory
mapping I/O method. It can be used to query the status of a
buffer at any time after buffers have been allocated with the
VIDIOC_REQBUFS
ioctl.
Applications set the type
field
of a struct v4l2_buffer to the same buffer type as previously
struct v4l2_format type
and struct v4l2_requestbuffers
type
, and the index
field. Valid index numbers range from zero
to the number of buffers allocated with VIDIOC_REQBUFS
(struct v4l2_requestbuffers count
) minus one.
After calling VIDIOC_QUERYBUF
with a pointer to
this structure drivers return an error code or fill the rest of
the structure.
In the flags
field the
V4L2_BUF_FLAG_MAPPED
,
V4L2_BUF_FLAG_QUEUED
and
V4L2_BUF_FLAG_DONE
flags will be valid. The
memory
field will be set to
V4L2_MEMORY_MMAP
, the m.offset
contains the offset of the buffer from the start of the device memory,
the length
field its size. The driver may
or may not set the remaining fields and flags, they are meaningless in
this context.
The v4l2_buffer
structure is
specified in Section 3.5.