162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci    file operation functions
462306a36Sopenharmony_ci    Copyright (C) 2003-2004  Kevin Thayer <nufan_wfk at yahoo.com>
562306a36Sopenharmony_ci    Copyright (C) 2005-2007  Hans Verkuil <hverkuil@xs4all.nl>
662306a36Sopenharmony_ci
762306a36Sopenharmony_ci */
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci#ifndef IVTV_FILEOPS_H
1062306a36Sopenharmony_ci#define IVTV_FILEOPS_H
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci/* Testing/Debugging */
1362306a36Sopenharmony_ciint ivtv_v4l2_open(struct file *filp);
1462306a36Sopenharmony_cissize_t ivtv_v4l2_read(struct file *filp, char __user *buf, size_t count,
1562306a36Sopenharmony_ci		      loff_t * pos);
1662306a36Sopenharmony_cissize_t ivtv_v4l2_write(struct file *filp, const char __user *buf, size_t count,
1762306a36Sopenharmony_ci		       loff_t * pos);
1862306a36Sopenharmony_ciint ivtv_v4l2_close(struct file *filp);
1962306a36Sopenharmony_ci__poll_t ivtv_v4l2_enc_poll(struct file *filp, poll_table * wait);
2062306a36Sopenharmony_ci__poll_t ivtv_v4l2_dec_poll(struct file *filp, poll_table * wait);
2162306a36Sopenharmony_ciint ivtv_start_capture(struct ivtv_open_id *id);
2262306a36Sopenharmony_civoid ivtv_stop_capture(struct ivtv_open_id *id, int gop_end);
2362306a36Sopenharmony_ciint ivtv_start_decoding(struct ivtv_open_id *id, int speed);
2462306a36Sopenharmony_civoid ivtv_mute(struct ivtv *itv);
2562306a36Sopenharmony_civoid ivtv_unmute(struct ivtv *itv);
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci/* Utilities */
2862306a36Sopenharmony_ci/* Shared with ivtv-alsa module */
2962306a36Sopenharmony_ciint ivtv_claim_stream(struct ivtv_open_id *id, int type);
3062306a36Sopenharmony_civoid ivtv_release_stream(struct ivtv_stream *s);
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci#endif
33