From: Philippe De Muyter Date: Sat, 18 Apr 2015 13:06:43 +0000 (+0200) Subject: v4l2: add decoding for VIDIOC_CREATE_BUFS's arg. X-Git-Tag: v4.11~518 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6779e71accc195a3030d8a16d4eb76d9bc623769;p=strace v4l2: add decoding for VIDIOC_CREATE_BUFS's arg. * v4l2.c (v4l2_ioctl): Add decoding for VIDIOC_CREATE_BUFS's arg. --- diff --git a/v4l2.c b/v4l2.c index ae1ebb8a..2a3a9839 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;