[PATCH v2] v4l2.c: add decoding for VIDIOC_CREATE_BUFS's arg.
Philippe De Muyter
phdm at macqel.be
Sat Apr 18 13:06:43 UTC 2015
* v4l2.c (v4l2_ioctl): Add decoding for VIDIOC_CREATE_BUFS's arg.
---
v4l2.c | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
v2: test syserror before umove
diff --git a/v4l2.c b/v4l2.c
index ae1ebb8..2a3a983 100644
--- a/v4l2.c
+++ b/v4l2.c
@@ -581,6 +581,32 @@ v4l2_ioctl(struct tcb *tcp, const unsigned int code, long arg)
return 1;
}
+ case VIDIOC_CREATE_BUFS: {
+ struct v4l2_create_buffers b;
+
+ if (exiting(tcp) && syserror(tcp))
+ return 1;
+ if (umove(tcp, arg, &b) < 0)
+ return 0;
+ if (entering(tcp)) {
+ tprintf(", {count=%u, memory=", b.count);
+ printxval(v4l2_memories, b.memory, "V4L2_MEMORY_???");
+ tprints(", format={type=");
+ printxval(v4l2_buf_types, b.format.type, "V4L2_BUF_TYPE_???");
+ tprints(", ");
+ print_v4l2_format_fmt(&b.format);
+ tprints("}}");
+ return 1;
+ } else {
+ static const char fmt[] = "{index=%u, count=%u}";
+ static char outstr[sizeof(fmt) + sizeof(int) * 6];
+
+ sprintf(outstr, fmt, b.index, b.count);
+ tcp->auxstr = outstr;
+ return 1 + RVAL_STR;
+ }
+ }
+
case VIDIOC_REQBUFS: {
struct v4l2_requestbuffers reqbufs;
--
1.8.4.5
More information about the Strace-devel
mailing list