1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /*
3     file operation functions
4     Copyright (C) 2003-2004  Kevin Thayer <nufan_wfk at yahoo.com>
5     Copyright (C) 2005-2007  Hans Verkuil <hverkuil@xs4all.nl>
6 
7  */
8 
9 #ifndef IVTV_FILEOPS_H
10 #define IVTV_FILEOPS_H
11 
12 /* Testing/Debugging */
13 int ivtv_v4l2_open(struct file *filp);
14 ssize_t ivtv_v4l2_read(struct file *filp, char __user *buf, size_t count,
15 		      loff_t * pos);
16 ssize_t ivtv_v4l2_write(struct file *filp, const char __user *buf, size_t count,
17 		       loff_t * pos);
18 int ivtv_v4l2_close(struct file *filp);
19 __poll_t ivtv_v4l2_enc_poll(struct file *filp, poll_table * wait);
20 __poll_t ivtv_v4l2_dec_poll(struct file *filp, poll_table * wait);
21 int ivtv_start_capture(struct ivtv_open_id *id);
22 void ivtv_stop_capture(struct ivtv_open_id *id, int gop_end);
23 int ivtv_start_decoding(struct ivtv_open_id *id, int speed);
24 void ivtv_mute(struct ivtv *itv);
25 void ivtv_unmute(struct ivtv *itv);
26 
27 /* Utilities */
28 /* Shared with ivtv-alsa module */
29 int ivtv_claim_stream(struct ivtv_open_id *id, int type);
30 void ivtv_release_stream(struct ivtv_stream *s);
31 
32 #endif
33