1b285192aSMauro Carvalho Chehab /*
2b285192aSMauro Carvalho Chehab     file operation functions
3b285192aSMauro Carvalho Chehab     Copyright (C) 2003-2004  Kevin Thayer <nufan_wfk at yahoo.com>
4b285192aSMauro Carvalho Chehab     Copyright (C) 2005-2007  Hans Verkuil <hverkuil@xs4all.nl>
5b285192aSMauro Carvalho Chehab 
6b285192aSMauro Carvalho Chehab     This program is free software; you can redistribute it and/or modify
7b285192aSMauro Carvalho Chehab     it under the terms of the GNU General Public License as published by
8b285192aSMauro Carvalho Chehab     the Free Software Foundation; either version 2 of the License, or
9b285192aSMauro Carvalho Chehab     (at your option) any later version.
10b285192aSMauro Carvalho Chehab 
11b285192aSMauro Carvalho Chehab     This program is distributed in the hope that it will be useful,
12b285192aSMauro Carvalho Chehab     but WITHOUT ANY WARRANTY; without even the implied warranty of
13b285192aSMauro Carvalho Chehab     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14b285192aSMauro Carvalho Chehab     GNU General Public License for more details.
15b285192aSMauro Carvalho Chehab 
16b285192aSMauro Carvalho Chehab     You should have received a copy of the GNU General Public License
17b285192aSMauro Carvalho Chehab     along with this program; if not, write to the Free Software
18b285192aSMauro Carvalho Chehab     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19b285192aSMauro Carvalho Chehab  */
20b285192aSMauro Carvalho Chehab 
21b285192aSMauro Carvalho Chehab #ifndef IVTV_FILEOPS_H
22b285192aSMauro Carvalho Chehab #define IVTV_FILEOPS_H
23b285192aSMauro Carvalho Chehab 
24b285192aSMauro Carvalho Chehab /* Testing/Debugging */
25b285192aSMauro Carvalho Chehab int ivtv_v4l2_open(struct file *filp);
26b285192aSMauro Carvalho Chehab ssize_t ivtv_v4l2_read(struct file *filp, char __user *buf, size_t count,
27b285192aSMauro Carvalho Chehab 		      loff_t * pos);
28b285192aSMauro Carvalho Chehab ssize_t ivtv_v4l2_write(struct file *filp, const char __user *buf, size_t count,
29b285192aSMauro Carvalho Chehab 		       loff_t * pos);
30b285192aSMauro Carvalho Chehab int ivtv_v4l2_close(struct file *filp);
31c23e0cb8SAl Viro __poll_t ivtv_v4l2_enc_poll(struct file *filp, poll_table * wait);
32c23e0cb8SAl Viro __poll_t ivtv_v4l2_dec_poll(struct file *filp, poll_table * wait);
33b285192aSMauro Carvalho Chehab int ivtv_start_capture(struct ivtv_open_id *id);
34b285192aSMauro Carvalho Chehab void ivtv_stop_capture(struct ivtv_open_id *id, int gop_end);
35b285192aSMauro Carvalho Chehab int ivtv_start_decoding(struct ivtv_open_id *id, int speed);
36b285192aSMauro Carvalho Chehab void ivtv_mute(struct ivtv *itv);
37b285192aSMauro Carvalho Chehab void ivtv_unmute(struct ivtv *itv);
38b285192aSMauro Carvalho Chehab 
39b285192aSMauro Carvalho Chehab /* Utilities */
40269c11fbSAndy Walls /* Shared with ivtv-alsa module */
41269c11fbSAndy Walls int ivtv_claim_stream(struct ivtv_open_id *id, int type);
42b285192aSMauro Carvalho Chehab void ivtv_release_stream(struct ivtv_stream *s);
43b285192aSMauro Carvalho Chehab 
44b285192aSMauro Carvalho Chehab #endif
45