*参照元 [#e9532131] #backlinks *説明 [#ifc01bd7] -パス: [[linux-4.4.1/drivers/media/v4l2-core/videobuf2-internal.h]] -V4L2 キューのバッファ操作関数を呼び出すためのヘルパーマクロ。 **引数 [#ffbdff47] -q --V4L2 キュー。通常は struct vb2_queue * 型の変数を渡す。 --[[linux-4.4.1/vb2_queue]] -op --バッファ操作関数名。q->buf_ops->op(args) が呼ばれる。 --q->buf_ops は const struct vb2_buf_ops * 型 --[[linux-4.4.1/vb2_buf_ops]] -args --関数に渡す引数。 **返り値 [#aae1b839] -int --キューが NULL, バッファ操作関数が NULL のときは何もせず 0 を返す。 --それ以外の場合はバッファ操作関数の返り値に準拠する。 **参考 [#j9b44abc] *実装 [#xed3f3a1] #define call_bufop(q, op, args...) \ ({ \ int ret = 0; \ if (q && q->buf_ops && q->buf_ops->op) \ ret = q->buf_ops->op(args); \ ret; \ }) *コメント [#qde4732e]