18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci    file operation functions
48c2ecf20Sopenharmony_ci    Copyright (C) 2003-2004  Kevin Thayer <nufan_wfk at yahoo.com>
58c2ecf20Sopenharmony_ci    Copyright (C) 2005-2007  Hans Verkuil <hverkuil@xs4all.nl>
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_ci */
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ci#ifndef IVTV_FILEOPS_H
108c2ecf20Sopenharmony_ci#define IVTV_FILEOPS_H
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ci/* Testing/Debugging */
138c2ecf20Sopenharmony_ciint ivtv_v4l2_open(struct file *filp);
148c2ecf20Sopenharmony_cissize_t ivtv_v4l2_read(struct file *filp, char __user *buf, size_t count,
158c2ecf20Sopenharmony_ci		      loff_t * pos);
168c2ecf20Sopenharmony_cissize_t ivtv_v4l2_write(struct file *filp, const char __user *buf, size_t count,
178c2ecf20Sopenharmony_ci		       loff_t * pos);
188c2ecf20Sopenharmony_ciint ivtv_v4l2_close(struct file *filp);
198c2ecf20Sopenharmony_ci__poll_t ivtv_v4l2_enc_poll(struct file *filp, poll_table * wait);
208c2ecf20Sopenharmony_ci__poll_t ivtv_v4l2_dec_poll(struct file *filp, poll_table * wait);
218c2ecf20Sopenharmony_ciint ivtv_start_capture(struct ivtv_open_id *id);
228c2ecf20Sopenharmony_civoid ivtv_stop_capture(struct ivtv_open_id *id, int gop_end);
238c2ecf20Sopenharmony_ciint ivtv_start_decoding(struct ivtv_open_id *id, int speed);
248c2ecf20Sopenharmony_civoid ivtv_mute(struct ivtv *itv);
258c2ecf20Sopenharmony_civoid ivtv_unmute(struct ivtv *itv);
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_ci/* Utilities */
288c2ecf20Sopenharmony_ci/* Shared with ivtv-alsa module */
298c2ecf20Sopenharmony_ciint ivtv_claim_stream(struct ivtv_open_id *id, int type);
308c2ecf20Sopenharmony_civoid ivtv_release_stream(struct ivtv_stream *s);
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_ci#endif
33