*参照元 [#p4da28f6]
#backlinks

*説明 [#s18dfe95]
-パス: [[linux-4.4.1/drivers/media/v4l2-core/videobuf2-internal.h]]

-FIXME: これは何?
--説明


**引数 [#tac31281]
-vb
--V4L2 キュー。通常は struct vb2_buffer * 型の変数を渡す。
--[[linux-4.4.1/vb2_buffer]]
-op
--バッファ操作関数名。vb->vb2_queue->ops->op(args) が呼ばれる。
--vb->vb2_queue は struct vb2_queue * 型
--[[linux-4.4.1/vb2_queue]]
--vb->vb2_queue->ops は const struct vb2_ops * 型
--[[linux-4.4.1/vb2_ops]]
-args
--関数に渡す引数。


**返り値 [#t83af510]
-int
--vb->vb2_queue->ops->op が NULL なら 0
--それ以外の場合はキュー操作関数の返り値に準拠する。


**参考 [#l1f220d4]


*実装 [#h8c8e630]
 #define call_vb_qop(vb, op, args...)                                    \
 ({                                                                      \
         int err;                                                        \
                                                                         \
         log_vb_qop(vb, op);                                             \
-
--[[linux-4.4.1/log_vb_qop()]]

         err = (vb)->vb2_queue->ops->op ?                                \
                 (vb)->vb2_queue->ops->op(args) : 0;                     \
         if (!err)                                                       \
                 (vb)->cnt_ ## op++;                                     \
         err;                                                            \
 })


*コメント [#r09a4c31]


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS